我想处理浏览器缓存 (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/
关于javascript - 检索 S3 上传的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63521841/