首页 > 解决方案 > 我们可以按日期过滤队列中的消息吗?

问题描述

我需要一个消息队列,我只能接收与某个日期相关的消息。

例如让我们说

[
{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,但找不到按日期过滤消息的选项。

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

标签: apache-kafkarabbitmqamazon-sqs

解决方案


无法根据条件过滤来自队列的消息。

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

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


推荐阅读