3

Я расследую создание внедренного проекта AWS IoT и хотел бы использовать Protobuf Google (двоичные сериализации) для полезной нагрузки сообщения - по размеру, простота синтаксического анализа, надежности и т.д.Использование Protobuf с Amazon IoT

AWS IoT говорит JSON, Protobuf довольно хорошо преобразуется в & от JSON. Я не очень хорошо знаком с настройкой служб AWS, так или иначе, я могу конвертировать из двоичного кода в json по прибытии/перед отправкой? Я думал, что могу передать пакет Лямбде и в основном делать то, что хочу, но разве это означает, что я больше не могу запускать его через механизмы правил? Большинство пакетов попадают в DynamoDB, если это имеет значение.

Любые предложения на этом фронте будут очень благодарны!

ответ

1

Идея звуковая, но в настоящее время нет поддержки для толкания двоичных данных непосредственно от брокера IoT -> лямбда. Возможно, он мог запустить IoT-> Kinesis-> Lambda, однако это еще не подтверждено.

Была запрошена поддержка альтернативных пакетов сообщений. См. Эту тему для получения дополнительной информации/обновлений: https://forums.aws.amazon.com/thread.jspa?messageID=682020&#682020

2

protobuf имеет поддержку python, а также лямбда, поэтому вы можете распаковать protobuf в лямбда и использовать результаты для записи в DynamoDB или что-то еще. Удачи.

2

Сообщение немного старое, но ситуация развивается.

Как указано в этом aws forum announcement, теперь можно кодировать всю полезную нагрузку mqtt в строке с использованием кодировки base64 (только поддерживаемый формат), а затем вызывать функцию лямбда. encode Документация по функциям sql может быть найдена here.