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

Page updated May 1, 2024

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.