我在使用 AWS Lambda 和 S3 时遇到了问题。
我使用 terraform 部署我所有的 AWS 架构。我有一个存储桶,我可以在其中上传 XML 文件,该文件会触发 lambda 来处理这些文件(事件消息灵通(。
问题是,在部署架构后,当我将 XML 文件放入存储桶中时,前几次没有任何反应。好像我上传的第一个文件没有被考虑在内,S3 不会向 Lambda 发送通知。
有时我必须在开始考虑之前将多个文件发送到 S3,或者我使用 GUI 修改 S3 控制台中的通知,而无需更改任何内容,只需单击"保存"。我不知道如何调查这个问题。
你能告诉我是否有人曾经遇到过类似的案例吗? 另外,您是否知道是否可以查看 S3 存储桶上发生的所有事情(上传的文件、发送的事件等(的历史记录以调查我的问题?
提前谢谢。
您正在经历的关键是它发生在您创建存储桶和触发器之后。 许多 AWS 系统都有最终一致性模型。对于 S3,对象和存储桶在 3 个可用区中具有最终一致性。
简而言之,您将一个对象放在其中一个 S3 实例上的事件触发器之前。