我们可以按日期过滤队列中的消息吗?

Can we filter messages from queue by date?

我需要一个消息队列,我只能在其中接收与特定日期关联的消息。

比如说

[
{message:"hello", sendto:"abc@gmail.com", sendat:"2020-07-29"},
{message:"hi", sendto:"def@gmail.com", sendat:"2020-07-30"},
{message:"how are you", sendto:"xyz@gmail.com", sendat:"2020-07-29"}
]

是我队列中的消息列表。

因此,当我轮询日期为“2020-07-29”的消息时,我希望收到消息 1 和 3。

我正在使用 SQS,但找不到按日期过滤消息的选项。

我可以使用消息队列来实现上述结果吗?

无法根据条件从队列中过滤消息。

但 Amazon SQS 提供 message attribute 功能,允许您在消息中包含结构化元数据(例如时间戳、地理空间数据、签名和标识符),这些消息属性可用于

如果要过滤消息,可以使用单独的队列或可以由 SQS 事件触发并执行条件的 lambda 函数。