Search code examples
amazon-web-servicesprotocol-buffersaws-lambdaaws-iot

Using protobuf with Amazon IoT


I am investigating creating an embedded AWS IoT project and would like to use the google protobuf (binary serialization) for message payload - for size, ease of parsing, reliability etc.

AWS IoT speaks JSON, Protobuf converts quite nicely to & from JSON. I'm not awfully familiar with how the AWS services are setup, is there anyway I could convert from binary to json on arrival/before send? I thought I could pass the packet to Lambda and basically do what I want, but would this mean I can no longer run it through the rules engines? Most packets will end up in DynamoDB, if this makes any difference.

Any suggestions on this front would be very appreciated!


Solution

  • The idea is sound, but currently there isn't support for pushing binary data directly from IoT broker -> lambda. Possibly it could run IoT-> Kinesis->Lambda, however this hasn't been confirmed yet.

    Support for alternative message packets has been requested. See this thread for more details/updates: https://forums.aws.amazon.com/thread.jspa?messageID=682020&#682020