【发布时间】:2014-05-25 19:22:12
【问题描述】:
我正在开发一个需要接受排队请求的程序,我想使用 SQS 作为我的队列。我的应用程序不关心消息顺序,但它确实需要能够“关闭”队列以接受新事件,同时排出剩余的消息。
例如,假设我有一个 SQS 队列 @987654321@,其中包含以下消息:
Q = [ A, B, C ]
我想对Q 做点什么,这样如果我尝试添加新消息D 会失败,但我仍然可以收到消息A、B 和C。同样,我不在乎顺序——C、A、B 很好——我只需要一种方法来防止添加新消息。这样,只要我继续处理“关闭”队列上的消息,我就可以保证在将来的某个时候将其耗尽。
表面上看,SQS 似乎不支持“开箱即用”的功能。不过,看起来我可以使用RemovePermission 来禁止SendMessage 和SendMessageBatch 出现在相关帐户的队列中。
致那些过去使用过 SQS 和 RemovePermission 的人:这种方法是否合理?
【问题讨论】:
标签: amazon-web-services amazon-sqs