【发布时间】:2023-04-01 08:40:01
【问题描述】:
我正在尝试一种可靠的方式将数据从 aws lambda 函数发送到 aws iot 事物。这个东西基本上是一个位于远程的树莓派。
我看过 aws iot 主题,但它们似乎对我的用例并不可靠。
到目前为止,我发现了以下关于主题的功能
主题:
- 主题是异步的。
- 当向所有主题添加内容时,只有当前正在侦听的设备才会收到更新。
- 无需排队。
- 没有发布者的发送通知。
在我的用例中,我需要知道是否交付(否则重试),但如果设备未连接,主题可能会丢失写入。
有没有办法解决这个问题。非常感谢任何帮助。
编辑:
我要做的是发送有关可以从远程服务器与设备交互的用户的数据。
为了克服我用例的主题限制,我提出了以下解决方案。
第 1 步:Dynamo -> lambda1 -> sqs -> topic1 -> 远程设备
步骤 2:远程设备(获取数据后)-> topic2(确认)-> lambda2(从 sqs 删除消息)-> 更新 DB 关于操作
这个解决方案看起来可靠吗?
编辑 2:
基本上,我正在尝试将对数据库所做的所有更新发送到 IOT Thing。
根据@dvd86 的回答,
第 1 步:DynamoStream -> lambda1 -> sqs -> 所需的事物影子
第 2 步:影子报告已更新 -> lambda2(从 sqs 删除消息)-> 更新有关操作的数据库
【问题讨论】:
-
您可以这样做,但不建议在 IOT 设备上使用。您必须使用每个设备队列或一些跟踪所有设备的数据库。你的用例是什么?
-
我要做的是发送有关可以从远程服务器与设备交互的用户的数据。为了克服我用例的主题限制,我提出了以下解决方案。 1) lambda1 -> sqs -> topic1 -> remote device 2) remote device(获取数据后) -> topic2(acknowledgement) -> lambda2(delete message from sqs 上面的解决方案有什么缺陷吗?
标签: amazon-web-services aws-lambda iot aws-iot