Вы пытались создать правило IoT AWS?
Я столкнулся с подобной проблемой, поскольку у меня есть несколько вещей IoT AWS, и я не хотел создавать сотни подписок и лямбд.
Добавьте следующую подписку в свою группу GG:
Source | Target | Topic
----------|--------------|---------------------
IoT Cloud | [xyz_lambda] | [xyz_lambda]/trigger
Затем перейдите в раздел Act в IoT AWS и создайте правило со следующим утверждением:
SELECT topic(2) as action, * from 'sonos/#'
Функция topic(2)
захватывает второй сегмент темы (см. Справочник по AWS IoT SQL - Функции ).Мы переименуем его в action
.*
захватывает полезную нагрузку, отправленную вместе с сообщением sonos/play
или sonos/pause
(если имеется).
Добавьте в правило действие, которое повторно публикует сообщение в теме [xyz_lambda]/trigger
.
Событие JSON, отправляемое в ваш обработчик лямбда-функции, будет иметь свойство action
, за которым следует полезная нагрузка JSON сообщения sonos/play
или sonos/pause
:
{
"action": "play",
...
}
или
{
"action": "pause",
...
}
Надеюсь, это поможет!