将 protobuf 与 Amazon IoT 结合使用

Using protobuf with Amazon IoT

我正在研究创建一个嵌入式 AWS IoT 项目,并希望将 google protobuf(二进制序列化)用于消息有效负载 - 用于大小、易于解析、可靠性等。

AWS IoT 说话 JSON,Protobuf 与 JSON 之间的转换非常好。我不太熟悉 AWS 服务的设置方式,无论如何我可以在 arrival/before 发送时从二进制转换为 json 吗?我以为我可以将数据包传递给 Lambda 并基本上做我想做的事,但这是否意味着我不能再通过规则引擎 运行 它了?大多数数据包最终都会进入 DynamoDB,如果这有什么不同的话。

如有任何这方面的建议,我们将不胜感激!

protobuf 有 python 支持,lambda 也有,所以你可以在 lambda 中解压一个 protobuf 并使用结果写入 DynamoDB 或其他任何东西。祝你好运。

想法不错,但目前不支持直接从 IoT 代理 -> lambda 推送二进制数据。可能 运行 IoT-> Kinesis->Lambda,但这尚未得到证实。

已请求支持替代消息包。有关更多信息,请参阅此线程 details/updates: https://forums.aws.amazon.com/thread.jspa?messageID=682020&#682020

post有点老了,但情况在演变。

如此 aws forum announcement 中所述,现在可以使用 base64 编码(仅支持的格式)将整个 mqtt 有效负载编码为一个字符串,然后调用 lambda 函数。 encode sql 函数文档可在 here.

中找到