AWS S3 有文件 'updated' 的概念吗?
Does AWS S3 Have a concept of files being 'updated'?
我想编写一个 Lambda 函数,当在 s3 存储桶中添加或修改文件时触发该函数并处理它们并将它们移动到其他地方,从而破坏文件的旧版本。
我想知道是否可以将 AWS Lambda 配置为在更新文件时触发?
在查看了 s3 的 Boto3 documentation 之后,看起来 s3 存储桶中唯一可能发生的事情就是创建和删除。
此外,AWS documentation 似乎表明无法将 'updates' 上的东西触发到 S3。
我是否正确地认为 S3 中的文件没有 'update' 的真正概念,更新实际上是在某些东西被销毁和重新创建时?如果我记错了,当存储桶中的 S3 文件发生更改时,如何触发 Lambda 函数?
不,没有更新 S3 上文件的概念。 S3 上的文件更新方式与其最初上传的方式相同——通过 PUT 对象请求。 (Relevant answer here.) An S3 bucket notification 配置为触发 PUT 对象请求可以执行 Lambda 函数。
S3 存储桶现在有一项新功能。在属性下,可以为此存储桶启用版本控制。并且,如果您设置了一个用于在分配给您的 Lambda 函数的 S3 上创建的触发器 - 如果您 'update' 相同的文件因为它是一个新版本,那么每次都会执行。
我想编写一个 Lambda 函数,当在 s3 存储桶中添加或修改文件时触发该函数并处理它们并将它们移动到其他地方,从而破坏文件的旧版本。
我想知道是否可以将 AWS Lambda 配置为在更新文件时触发?
在查看了 s3 的 Boto3 documentation 之后,看起来 s3 存储桶中唯一可能发生的事情就是创建和删除。
此外,AWS documentation 似乎表明无法将 'updates' 上的东西触发到 S3。
我是否正确地认为 S3 中的文件没有 'update' 的真正概念,更新实际上是在某些东西被销毁和重新创建时?如果我记错了,当存储桶中的 S3 文件发生更改时,如何触发 Lambda 函数?
不,没有更新 S3 上文件的概念。 S3 上的文件更新方式与其最初上传的方式相同——通过 PUT 对象请求。 (Relevant answer here.) An S3 bucket notification 配置为触发 PUT 对象请求可以执行 Lambda 函数。
S3 存储桶现在有一项新功能。在属性下,可以为此存储桶启用版本控制。并且,如果您设置了一个用于在分配给您的 Lambda 函数的 S3 上创建的触发器 - 如果您 'update' 相同的文件因为它是一个新版本,那么每次都会执行。