从 SQS 队列有选择性地读取消息

3

我在一个SQS队列中不断接收消息,我需要只读取并处理那些在过去24小时内到达的消息。目前正在传入的消息应该在第二天进行处理。时间戳存储在消息体中。

是否可以有选择性地从SQS队列中读取消息?例如,仅读取那些时间戳值大于前一天的时间戳但小于当前时间戳(当前时间戳是此作业运行的时间)的消息?


1
你能提供更多关于你使用场景的细节以及需要这种行为的原因吗?也许我们可以建议其他方法来代替使用SQS队列。 - John Rotenstein
消息队列服务之所以被称为“队列”,是因为它按顺序工作。未被消费的消息将返回到队列中。 - mootmoot
1个回答

11
Amazon SQS的ReceiveMessages命令从队列中返回消息(或一批消息)。这些消息大致按照先进先出(FIFO)的顺序排列,但不能保证严格按照此顺序。 没有办法选择性地检索消息。不可能使用消息、消息属性或消息元数据的内容来限制返回的消息。它基本上是从栈中弹出一条消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接