Features | Pricing | Documentation | Contact | Blog

IoT Data Destinations

Service Name: AWS IoT Data
ARN Format: arn:aws:iot:{region}:{account}:topic/{topic path}
Style: Async (Write)
Actions (required Permissions): iot:Publish
Payload Format: Static Mode: JSON Packet envelope
Dynamic Mode: Raw binary payload
Arguments: DynamicTopicSuffix (boolean, default: false),
TopicSuffixExpression (binary range expression, optional),
TopicSuffixFormatter (string, default: "hex")

The IoT Data service adapter enables UDP Gateway to publish messages to AWS IoT Core's data plane, allowing integration with IoT device ecosystems, IoT Core Rules, and Thing Shadows. This integration is ideal for bridging UDP-based device protocols into AWS IoT Core's MQTT infrastructure, where powerful Rules Engine capabilities can route, transform, and process device data.

Operating Modes

The IoT Data adapter supports two distinct operating modes that determine how UDP packets are published to MQTT topics:

Static Mode (Default)

In static mode, all UDP packets are published to a single MQTT topic with metadata wrapped in a JSON packet envelope. The envelope includes source IP/port, timestamp, batch tag, and the payload encoded according to the destination's Formatter setting.

Configuration: No special configuration required. Static mode is the default when DynamicTopicSuffix is not set or is false.

Dynamic Topic Suffix Mode

In dynamic topic suffix mode, each UDP packet is published to a unique MQTT topic based on extracted payload data or source network information. The raw binary payload is sent without JSON wrapping, preserving the original device protocol format.

Configuration options:

Topic construction:

{base_topic_from_arn}/{dynamic_suffix}

Where the suffix is either:

Example configuration (JSON):

{
  "DestinationArn": "arn:aws:iot:us-east-1:123456789012:topic/devices",
  "DynamicTopicSuffix": true,
  "TopicSuffixExpression": "[0:4]",
  "TopicSuffixFormatter": "hex"
}

This configuration would publish packets to topics like devices/A1B2C3D4, where A1B2C3D4 is the hex representation of the first 4 bytes of each UDP payload.

Things to Know About IoT Data Destinations