在 AWS IoT 中,我可以创建一个规则来路由传入的 mqtt 有效负载以由 lambda 处理。同样,我可以编写一个 lambda 来将 mqtt 消息发送到设备(传出)。我的问题:
- 是否存在 IoT Core 可能永远无法将传入消息移交给 lambda 的风险?
- 同样,是否存在 lambda 永远无法将传出的 mqtt 消息发送到设备的风险?
换句话说,我如何保证(或在架构上提出至少提高交付可靠性而又不会过度使用的解决方案)lambda 接收/发送 mqtt 消息?这就是为什么要使用 SQS 的原因吗?我们将要发送的传出消息作为 SQS 主题。Lambda 接收它并使用 mqtt 协议中的至少一次传递选项发送消息。如果出于某种原因我没有收到 ACK 我从 SQS 回滚出队或将其放入不同的“稍后处理”队列(或 DLQ)?