- Newest
- Most votes
- Most comments
Hi there!
Once a message is published to AWS IoT Core, there is no metadata in the message itself. One way to accomplish this is to give each unique thing (and the attached certificate) it's own topic structure to publish. For instance, things Foo and Bar could have an IoT policy that allows them to publish on dt/{iot:Connection.Thing.ThingName}/*, where Connection.Thing.ThingName must match thignName (see these examples for why this helps with clientId matching thingName). Then depending upon what will parse and customize you can extract the MQTT topic. With the example above, Foo publishes a message on dt/Foo/telemetry, and any subscribers or the rule engine can then parse the second level of the topic to get the thing name.
If using rules to transform data, use the topic function to obtain the thingName.
Please let me know if this helps!
Relevant content
- asked 4 years ago
- asked 2 years ago
- AWS OFFICIALUpdated a year ago

This whitepaper is also useful: https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/mqtt-design-best-practices.html.
Thanks for your helps