Send device telemetry to Azure IoT Hub using the Proxus outbound connector. The integration uses Azure's device SDK over MQTT with automatic retries, plus a flat telemetry message format that is consistent with AWS IoT exports.
Azure IoT Hub Documentation
learn.microsoft.com/azure/iot-hub
Configuration Parameters
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| HostName | Yes | string | - | IoT Hub host name (e.g., myhub.azure-devices.net). |
| DeviceId | Yes | string | - | Device ID registered in IoT Hub. |
| SharedAccessKey | Yes | string | - | Device key for SAS authentication. |
| ValueMode | No | string | MeasureValueFields | Data serialization mode: MeasureValueFields or siemens. |
| RetryMaxAttempts | No | int | 5 | Max retry attempts for transient failures. |
| RetryMinBackoffMs | No | int | 200 | Minimum backoff for retry policy. |
| RetryMaxBackoffMs | No | int | 5000 | Maximum backoff for retry policy. |
| RetryDeltaBackoffMs | No | int | 200 | Delta backoff step for retry policy. |
| OperationTimeoutMs | No | int | 30000 | Operation timeout for SDK calls. |
[!NOTE] Authentication uses device-level credentials. Ensure the device exists in IoT Hub and has a valid SAS key.
Message Format
Each payload entry is sent as a flat JSON message. This format matches the AWS IoT connector for consistency.
Default Mode (MeasureValueFields)
{
"deviceId": "dev-1",
"deviceName": "sensor-1",
"measureName": "Temperature",
"timestamp": "2024-02-01T00:00:00.000Z",
"measureValueType": "DOUBLE",
"measureValueDouble": 25.5
}Siemens Mode (siemens)
{
"deviceId": "dev-22",
"deviceName": "line-2",
"measureName": "Status",
"timestamp": "2024-02-02T10:15:30.000Z",
"measureValueType": "BOOLEAN",
"value": "true"
}Operational Notes
- Transport: MQTT over TLS (managed by Azure Device SDK).
- Reliability: Exponential backoff retry policy for transient failures.
- Performance: Messages are serialized once per payload entry.