相关疑难解决方法(0)

SQS真的会为每条消息发送多个S3 PUT对象记录吗?

我已经设置了一个S3存储桶来将PUT对象上的事件发送到SQS,我正在处理EB工作层中的SQS队列.

SQS发送的消息的架构如下:http://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html

记录是一个数组,意味着可以在一个POST中将多个记录发送到我的工作人员的端点.这实际发生了吗?或者我的工作人员每封邮件只会收到一条记录吗?

无论收到的消息中有多少记录,工作者只能返回一个响应,200(成功处理消息)或非200(消息未成功处理,将其重新放入队列).

因此,如果我的工作人员在一条消息中收到多条记录,并且它成功地处理了一些(例如通过插入数据库等副作用)但是在一个或多个上失败,我应该如何处理?如果我返回200,那么失败的那些将不会被重试.但是如果我返回非200,那么成功处理的那些将被不必要地重试,并且可能重新插入.因此,我必须让我的工作人员足够聪明,只能重试失败的 - 这是我不想写的逻辑.

如果每封邮件只发送一条记录,这将更容易.所以,如果实际情况如此,尽管记录是阵列,我真的很想知道!

amazon-s3 amazon-web-services amazon-elastic-beanstalk

9
推荐指数
1
解决办法
2769
查看次数