我已将 EventBridge Pipe 目标设置为 FIFO SQS 队列
FIFO SQS 有一个 Lambda 触发器,可以“批量处理 1 条”消息(对于我的用例,由于一些严格的限制,我需要一次处理 1 条消息)
我已经调整了SQS属性(visibilityTimeout、延迟等),但注意到在多种情况下,在SQS上,messageSent(通过管道推送到SQS的项目)是正确的,但lambda没有被触发,因此messageReceive计数与已发送的消息不同。更糟糕的是,消息在队列中不再可用,在 DLQ 中也不再可用。我读到,由于 AWS SQS 的分布式特性,这是事件“数量较少”的 SQS 队列的问题。
但是,我的一个建议是确保从 Pipe 生成并发送到 SQS 的每条消息都应具有唯一的 MessageGroupId。但 EventBridge 似乎不允许唯一或动态值...您必须硬编码相同的静态值。 (见下文)
这也是 3 年前的一个问题,但我希望这个问题能得到解决?