Обработка строковых полезных данных из AWS IOT Rule

Мое дело — опубликовать строку полезной нагрузки, например "[v1:ThingName]", в тему (someTopic/topic1). И у меня есть правило, применяемое в механизме правил, чтобы захватить эту тему и отправить в функцию Lambda.

SELECT * FROM 'someTopic/+'

Я хочу отправить часть topic1, которая будет получена из механизма правил вместе с полезной нагрузкой. Таким образом, это может быть захвачено из темы (2). Как объединить тему (2) с * в операторе выбора?


person Hashan Seneviratne    schedule 09.09.2017    source источник


Ответы (1)


После стольких проб и ошибок понял, что вы не можете сделать это так, потому что полезная нагрузка является строкой.

Но как мне это сошло с рук, так это использование функции кодирования. По сути, я кодирую всю полезную нагрузку в base64 как объект json, а затем также получаю значение темы (2).

Итак, мой запрос Rule SQL хотел бы этого.

SELECT encode(*, 'base64') as encode, topic(2) as topic FROM 'someTopic/+'

Впоследствии вы декодируете полезную нагрузку в функции Lambda.

person Hashan Seneviratne    schedule 10.09.2017