【发布时间】:2019-09-26 04:45:15
【问题描述】:
我有一个启用了版本控制的 S3 存储桶,配置为向 Lambda 发送通知事件。当收到 s3:ObjectRemoved:* 事件时,我需要处理该存储桶中已删除的对象。
该事件包含已删除对象的 versionId。
有没有办法发现已删除对象的前一个版本的 versionId 并使用 aws-sdk 获取该版本?
或者,有没有办法使用 aws-sdk 获取已删除的对象?
(我正在使用 JavaScript aws-sdk)
【问题讨论】:
-
目前无法尝试,但您应该可以调用 S3 "list-object-versions" API 来获取所有对象版本。我会提供一个链接,但您没有指定您使用的是哪种编程语言。
-
谢谢@mark-b,这行得通。我还编辑了问题以指定语言(JavaScript)。通过多步骤过程完成: 1. 使用 s3.listObjectVersions 获取版本列表 2. 从列表中获取想要的版本 3. 获取特定对象,将 VersionId 作为参数传递给 s3.getObject({ Bucket: ,键:
,VersionId: })
标签: javascript amazon-s3 aws-lambda event-handling aws-sdk