如何搜索/查询符合条件的 SQS 队列元素
How to search for / query an SQS queue element that matches criteria
我想搜索符合特定条件的 SQS 队列的 "first" N 个元素。不必一定是第一个,大概的就好了。
SQS FIFO 队列支持这一点,但这里有一个问题:我想保留 "standard" SQS 继续处理其他元素的方法,而不可见的元素是正在处理(并且还避免了 SQS FIFO 对具有特定条件的元素可以入队的次数的限制)。
本质上,我不需要需要先进先出。我只需要伸手到队列中,获取第一个符合我需求的元素即可。
请注意,由于这些标准是相对动态的,因此动态创建 SQS 队列将 行不通,因为
- 这实际上是要花钱的
- SQS 队列数量有限制
- 在新队列可用之前会有几分钟的延迟
不可能 'search' Amazon SQS 队列中的消息。
ReceiveMessage()
调用将检索一条或多条消息,但无法控制将返回哪些 条消息。
虽然 消息属性 可以附加到消息,但在检索消息时不能指定。
如果您需要先处理特定消息,则需要将它们放入单独的队列。然后,让您的应用在正常队列之前从该队列中读取。
我想搜索符合特定条件的 SQS 队列的 "first" N 个元素。不必一定是第一个,大概的就好了。
SQS FIFO 队列支持这一点,但这里有一个问题:我想保留 "standard" SQS 继续处理其他元素的方法,而不可见的元素是正在处理(并且还避免了 SQS FIFO 对具有特定条件的元素可以入队的次数的限制)。
本质上,我不需要需要先进先出。我只需要伸手到队列中,获取第一个符合我需求的元素即可。
请注意,由于这些标准是相对动态的,因此动态创建 SQS 队列将 行不通,因为
- 这实际上是要花钱的
- SQS 队列数量有限制
- 在新队列可用之前会有几分钟的延迟
不可能 'search' Amazon SQS 队列中的消息。
ReceiveMessage()
调用将检索一条或多条消息,但无法控制将返回哪些 条消息。
虽然 消息属性 可以附加到消息,但在检索消息时不能指定。
如果您需要先处理特定消息,则需要将它们放入单独的队列。然后,让您的应用在正常队列之前从该队列中读取。