您是否尝试过创建 AWS IoT 规则?
我遇到了类似的问题,因为我有几个 AWS IoT Things,我不想创建数百个订阅和 lambda。
在您的 GG 组中添加以下订阅:
Source | Target | Topic
----------|--------------|---------------------
IoT Cloud | [xyz_lambda] | [xyz_lambda]/trigger
然后转到 AWS IoT 上的Act部分并使用以下语句创建规则:
SELECT topic(2) as action, * from 'sonos/#'
该topic(2)
函数捕获主题的第二部分(请参阅AWS IoT SQL 参考 - 函数)。我们将其重命名为action
. *
捕获与sonos/play
orsonos/pause
消息(如果有)一起发送的有效负载。
向规则添加一个操作,将消息重新发布到[xyz_lambda]/trigger
主题。
发送到您的 lambda 函数处理程序的 JSON 事件将具有属性action
,后跟sonos/play
orsonos/pause
消息的 JSON 有效负载:
{
"action": "play",
...
}
或者
{
"action": "pause",
...
}
希望这可以帮助!