amazon-web-services - AWS SNS 事件在 2 秒内跳过 S3 对象的第二次更新?
问题描述
我有两个 Lambda 从 S3 对象上的 ObjectCreated:* 事件响应关于非 fifo 主题的 SNS 通知。在 2 秒内,S3 对象更新两次。我订阅的 lambda 似乎只响应第一次更新。这是已知的行为吗?似乎只发出了一个事件。
如果更新在一个 SNS 事件中作为两条记录发布,我的应用程序将准备好处理这两个事件。不幸的是,有效载荷中似乎没有第二条记录。
解决方案
亚马逊有一个存档的开发人员指南,其中指出:
Amazon S3 事件通知设计为至少传送一次。通常,事件通知会在几秒钟内发送,但有时可能需要一分钟或更长时间。如果同时对一个非版本化对象进行两次写入,则可能只会发送一个事件通知。如果您想确保每次成功写入都会发送事件通知,您可以在存储桶上启用版本控制。使用版本控制,每次成功的写入都会创建对象的新版本,并且还会发送事件通知。
但是,在[新的开源用户指南](2021 年 4 月)中,此注释已被删除。
我认为打开版本控制可能会修复这个错误,但这也会带来额外的成本。
我正在等待支持票上的答案,我保证会用我的最新发现更新这个答案。同时,这应该提供一种解决方法以及一些推理指导。
推荐阅读
- php - 在 PHP 和 sql server 2016 中使用 PDO 出现“找不到驱动程序”错误
- php - 将 äöü 等特殊字符转换为 aou (iconv)
- php - 实现mysqli连接的最佳实践/最实用的方法
- html - 绝对位置时如何在引导程序4中设置mr-0
- python - 我应该如何使用 python 脚本将用户名和密码传递给 Cassandra
- vue.js - Vue中的浅安装,存根不起作用
- movilizer - 如何禁用 Movilizer 表列中的排序
- c# - 当更改的属性值恢复为原始值时,为什么 EntityFramework 6 HasChanges 方法返回 true?
- date - 在 Google 表格中计算日期范围时如何计算周末?
- node.js - 在 Windows 中配置全局 nprmrc 文件位置