【问题标题】:What event does AWS s3 CLI "cp" and "sync" trigger?AWS s3 CLI“cp”和“sync”触发什么事件?
【发布时间】:2021-05-28 05:32:43
【问题描述】:

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

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

我认为 s3 sync 不会触发其中任何一个。但我不是 100% 确定。我试过阅读他们的文档,但没有找到具体的答案。我正在尝试通过特定的 lambda 函数获取每个事件,所以我只是遇到了 sync 触发的问题,如果它触发了 anything

谢谢!

【问题讨论】:

  • 如果您想响应上传到 S3 的对象,无论使用何种 API,请使用 s3:ObjectCreated:*

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


【解决方案1】:

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

aws s3 sync

  1. Comparator 确定需要上传或下载文件时,运行aws s3 cp。这将根据文件大小、src 和 dst 触发 s3:ObjectCreated:Puts3:ObjectCreated:Copys3:ObjectCreated:CompleteMultipartUpload

  2. Comparator 确定需要从 S3 存储桶中删除文件时,运行aws s3 rm。这将

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

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

【讨论】:

  • 您好,我正在尝试创建将在aws sync 完成后触发的 Lambda 函数(或者最好是 StepFunctions 状态机)。我如何识别某种“Sync Event Completed”状态?有办法吗?
  • @Smithfield 你知道怎么做吗?
  • @alayor 我想最简单的方法是在 bash 脚本中的 aws sync 之后执行某种命令。
猜你喜欢
  • 2022-08-16
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多