【问题标题】:How to trigger an AWS s3 event without changing the last modified time?如何在不更改上次修改时间的情况下触发 AWS s3 事件?
【发布时间】:2020-12-16 08:43:15
【问题描述】:

我有一个 AWS lambda 函数来处理来自 s3 的数据,触发器是 SNS(s3 指定存储桶“所有对象创建事件”)或 S3 所有对象创建事件。

出于某种原因,我不想将我的文件重新上传到 s3,也不想更改 s3 对象的最后修改时间)但我想重新使用 Lambda 函数来处理数据再次查看以前的文件。

我确实尝试在几个文件上添加标签,但它不会再次触发 lambda。 我尝试添加用户定义的元数据,它确实重新调用了 lambda,但我发现上次修改时间已更改/更新。--这不是我想要的。

是否有任何方法可以从 s3 触发 Lambda 的文件更新事件并且不更改上次修改时间?

也就是说,我想用 lambda 重新处理大量的旧文件。

谢谢!

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda


    【解决方案1】:

    我认为没有任何 AWS 提供的开箱即用解决方案可以解决这个问题。因此,您应该为此创建一个自定义解决方案

    S3 事件有known format。因此,您可以开发一个脚本或其他 lambda 函数,它们将为您的对象生成 S3 事件,并使用 AWS CLI 或 SDK 来调用您的事件函数。

    需要为存储桶中的所有文件“手动”生成事件,因此您需要先列出存储桶,然后以迭代方式构造 S3 事件并调用你的函数。

    【讨论】:

    • 最后,我创建了一个新的临时存储桶并将其设置为我的 lambda 函数的触发器/输入,然后将所有文件复制到该存储桶。 -- 这解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 2019-01-27
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多