检索S3上传的时间戳

问题描述

我想处理浏览器缓存(indexedDB)和S3之间的同步。因此,我利用了时间戳。

棘手的部分是,我的浏览器应用程序需要知道S3中文件的确切“最新更新”时间戳,以将其与本地缓存的文件一起存储(因此,我可以通过时间戳来感知一方或另一方的差异)不相等)。

目前,我最好的解决方案是:


  // Upload of file
    var upload = new AWS.S3.ManagedUpload({
        params: {
            // some params
        }
    });
    await upload.promise();
  // Call of listObjectsV2
    var s3Objects = await s3.listObjectsV2(params).promise();
    // get "LastModified" value from listObjectsV2

我真的不喜欢此解决方案,因为它需要额外的“ listObjectsV2”调用,这需要时间并且由AWS负责。

从头开始,我希望上传的返回参数中应该有一些可以利用的东西。但是我什么也找不到。我想念什么?

解决方法

查看适用于JavaScript的AWS开发工具包的文档,我认为您根本不会丢失任何东西:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3/ManagedUpload.html#promise-property

上传成功后,根本就不会返回任何日期时间字段。

(我自己一直在搜索类似这样的内容,仅用于NET。最后,我不得不在上传后开始发送元数据请求。)

也许可以听S3事件:https://aws.amazon.com/blogs/aws/s3-event-notification/