【问题标题】:Handling string payloads from AWS IOT Rule处理来自 AWS IOT Rule 的字符串负载
【发布时间】:2017-09-11 02:04:43
【问题描述】:
我的东西会将类似"[v1:ThingName]" 的字符串有效负载发布到主题(someTopic/topic1)。我在规则引擎中应用了一条规则来捕获这个主题并发送到 Lambda 函数。
SELECT * FROM 'someTopic/+'
我想发送将从规则引擎捕获的 topic1 部分以及有效负载。所以它可以从主题(2)中捕获。
如何在 select 语句中将 topic(2) 与 * 连接起来?
【问题讨论】:
标签:
amazon-web-services
aws-iot
【解决方案1】:
经过这么多的试验和错误,认为你不能那样做,因为有效载荷是字符串。
但是我如何摆脱这个问题是使用编码功能。本质上,我将整个有效负载编码为 base64 作为 json 对象,然后也具有 topic(2) 值。
所以我的 Rule SQL 查询会这样。
SELECT encode(*, 'base64') as encode, topic(2) as topic FROM 'someTopic/+'
随后您在 Lambda 函数中解码负载。