AWS s3 CLI“cp”和“sync”会触发什么事件?

Chr*_*ter 3 amazon-s3 amazon-web-services aws-cli aws-lambda

我有 lambda 函数运行 s3 事件。我正在使用 aws-cli 将项目移动到 s3 中。我不确定当您执行“同步”并且同步实际上添加了一个文件时会触发什么。

认为s3 cp会触发“put”事件(ObjectCreatedByPut),如果文件足够大,则会触发“分段上传”事件(ObjectCreatedByCompleteMultipartUpload)。我不相信它会触发“复制”事件,即使 cp 在命令中。

我不认为 s3同步会触发其中任何一个。但我不是100%确定。我尝试阅读他们的文档,但没有找到具体的答案。我试图通过特定的 lambda 函数来获取每个事件,所以我只是在同步触发的内容上遇到麻烦(如果它触发了任何东西)

谢谢!

jel*_*csc 5

aws s3 cps3:ObjectCreated:Copy如果您的 src 和 dst 都是 S3 存储桶,则可能会触发 a 。

aws s3 sync将要

  1. aws s3 cp比较器确定需要上传或下载文件时运行 a 。这将根据文件大小、src 和 dst触发s3:ObjectCreated:Putors3:ObjectCreated:Copy或。s3:ObjectCreated:CompleteMultipartUpload

  2. aws s3 rm比较器确定需要从 S3 存储桶中删除文件时运行 a 。这会

    • s3:ObjectRemoved:DeleteMarkerCreated如果 S3 存储桶版本控制的状态为Enabled或,则触发 a Suspended
    • s3:ObjectRemoved:Delete如果 S3 存储桶版本控制的状态为 ,则触发 a Disabled

如果您还有任何其他问题,请告诉我:)

  • 您好,我正在尝试创建 Lambda 函数(或者最好是 StepFunctions 状态机),该函数将在“awssync”完成后触发。我如何识别某种“_同步事件已完成_”状态?有办法吗? (2认同)
  • @alayor我想最简单的方法是在bash脚本中的“awssync”之后执行某种命令。 (2认同)