How to get the last access date of any resource in a bucket in amazon s3 in node.js?

4.5k Views Asked by At

I am trying to get the last access date of a resource in a bucket. But not able find anything related to it. I tried to fetch all the access logs for a bucket and parsed the logs files to check if a resource is accessed.

This is a very complex approach. In the

s3.listObjects I am getting the below object:-

 { Key: '_636579271588176973_951622.json',
       LastModified: 2018-08-02T08:31:29.000Z,
       ETag: '"c348574fabf83d603984a60983add161"',
       Size: 32172,
       StorageClass: 'STANDARD',
       Owner: [Object] },
1

There are 1 best solutions below

3
rahulpsd18 On BEST ANSWER

S3 is merely an object storage solution from AWS and so doesn't hold information like file access time, etc.

As always there are workarounds to achieve this,

  • You may setup CloudTrail to get last access date to a resource based on resource type. Read more here.
  • You may make use of Server Access Logging on your bucket, and parse the logs to extract your last access date for the object. Read more here.