SQS 上的 AWS S3 事件通知有多可靠?

How reliable is AWS S3 Event Nofications on SQS?

我想设计一个基于 AWS S3 事件通知机制的应用程序。基本上每次将文件放入 S3 存储桶时,都会触发 SQS 通知。

official documentation 说得很清楚 "On very rare occasions, events might be lost."

有谁知道这个 "rare occasions" 是什么意思?手动发送 SQS 通知(发送方将文件添加到存储桶中,然后发送 SQS 通知)而不是依赖此事件通知系统会更安全吗?

谢谢!

"On very rare occasions, events might be lost."

基本上是指以下情况之一的中断:

  • S3
  • SQS
  • 网络连接问题
  • 可用区中的一般问题
  • 该地区的普遍问题

即使您手动发送通知,这些事情中的大部分仍将是一个问题。

AWS 文档还说明了以下内容(在 https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html#supported-notification-event-types 中): Amazon S3 事件通知设计为至少发送一次。通常,事件通知会在几秒钟内发送,但有时可能需要一分钟或更长时间。 如果同时对单个非版本化对象进行两次写入,则可能只会发送一个事件通知。如果您想确保为每次成功的写入发送事件通知,您可以在您的存储桶上启用版本控制。通过版本控制,每次成功的写入都会创建对象的新版本,并且还会发送事件通知。