我想编写一个Lambda函数,该函数在s3存储桶中添加或修改文件时触发并处理它们并将它们移动到其他地方,从而破坏旧版本的文件。
我想知道AWS Lambda是否可以配置为在文件更新时触发?
在审查了{3}} s3后,看起来s3存储桶中可能发生的唯一事情就是创建和删除。
此外,Boto3 documentation似乎表明没有办法触发S3的'更新'。
我是否认为在S3中没有对文件进行“更新”的真实概念,并且更新实际上是在某些内容被销毁和重新创建时?如果我弄错了,在存储桶中更改S3文件时如何触发Lambda函数?
答案 0 :(得分:6)
不,没有在S3上更新文件的概念。 S3上的文件更新方式与首先上传的方式相同 - 通过PUT对象请求。 (Relevant answer here.)配置为在PUT对象请求上触发的S3 bucket notification可以执行Lambda函数。
答案 1 :(得分:2)
S3存储桶现在有了新的功能。在属性下,可以为此存储桶启用版本控制。如果你设置一个触发器来创建分配给你的Lambda函数的S3 - 如果你更新'这将每次执行。同一个文件,因为它是一个新版本。