Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated May 1, 2024

LegacyYou are viewing Gen 1 documentation. Switch to the latest Gen 2 docs →

Get file properties

You can get file properties and metadata without downloading the file

getProperties

import { getProperties } from 'aws-amplify/storage';
try {
const result = await getProperties({
path: 'public/album/2024/1.jpg',
// Alternatively, path: ({identityId}) => `protected/${identityId}/album/2024/1.jpg`
});
console.log('File Properties ', result);
} catch (error) {
console.log('Error ', error);
}
import { getProperties } from 'aws-amplify/storage';
try {
const result = await getProperties({
key: 'album/2024/1.jpg',
options: {
accessLevel: 'guest', // defaults to `guest` but can be 'private' | 'protected' | 'guest'
targetIdentityId: 'xxxxxxx' // ID of another user, if accessLevel is `protected`
}
});
console.log('File Properties ', result);
} catch (error) {
console.log('Error ', error);
}

The properties and metadata will look similar to the below example

{
path: 'public/album/2024/1.jpg',
contentType: 'image/jpeg',
contentLength: 6873,
eTag: '\"56b32cf4779ff6ca3ba3f2d455fa56a7\"',
lastModified: Wed Apr 19 2023 14:20:55 GMT-0700 (Pacific Daylight Time) {},
metadata: { owner : 'aws' }
}
{
key : 'album/2024/1.jpg',
contentType: 'image/jpeg',
contentLength: 6873,
eTag: '\"56b32cf4779ff6ca3ba3f2d455fa56a7\"',
lastModified: Wed Apr 19 2023 14:20:55 GMT-0700 (Pacific Daylight Time) {},
metadata: { owner : 'aws' }
}

To get the metadata in result for all APIs you have to configure user defined metadata in CORS.

Learn more about how to setup an appropriate CORS Policy.