Skip to content

Commit 5fcf6a0

Browse files
Merge pull request #302150 from DENKEN02MSFT/FreshnessMay2025-sonialopez-Row40
Freshness - May 2025 - Row 40
2 parents 90c57e4 + dc14d81 commit 5fcf6a0

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

articles/iot-hub/iot-hub-devguide-messages-construct.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: SoniaLopezBravo
66

77
ms.service: azure-iot-hub
88
ms.topic: concept-article
9-
ms.date: 08/22/2024
9+
ms.date: 06/26/2025
1010
ms.author: sonialopez
1111
ms.custom: ['Role: Cloud Development', 'Role: IoT Device']
1212
---
@@ -17,7 +17,7 @@ To support interoperability across protocols, IoT Hub defines a common set of me
1717

1818
[!INCLUDE [iot-hub-basic](../../includes/iot-hub-basic-partial.md)]
1919

20-
IoT Hub implements device-to-cloud messaging using a streaming messaging pattern. IoT Hub's device-to-cloud messages are more like [Event Hubs](../event-hubs/index.yml) *events* than [Service Bus](../service-bus-messaging/index.yml) *messages* in that there's a high volume of events passing through the service that multiple readers can read.
20+
IoT Hub implements device-to-cloud messaging using a streaming messaging pattern. IoT Hub's device-to-cloud messages are more like [Event Hubs](../event-hubs/index.yml) *events* than [Service Bus](../service-bus-messaging/index.yml) *messages*, in that there's a high volume of events passing through the service that multiple readers can read.
2121

2222
An IoT Hub message consists of:
2323

@@ -27,7 +27,7 @@ An IoT Hub message consists of:
2727

2828
* A message body, which can be any type of data.
2929

30-
Each device protocol implements setting properties in different ways. For more information, see the [MQTT protocol guide](../iot/iot-mqtt-connect-to-iot-hub.md) and [AMQP protocol guide](./iot-hub-amqp-support.md) developer guides for details.
30+
Each device protocol implements setting properties in different ways. For more information, see [Communicate with an IoT hub using the MQTT protocol](../iot/iot-mqtt-connect-to-iot-hub.md) and [Communicate with your IoT hub by using the AMQP Protocol](./iot-hub-amqp-support.md).
3131

3232
When you send device-to-cloud messages using the HTTPS protocol or send cloud-to-device messages, property names and values can only contain ASCII alphanumeric characters, plus ``! # $ % & ' * + - . ^ _ ` | ~`` .
3333

@@ -39,12 +39,12 @@ Device-to-cloud messaging with IoT Hub has the following characteristics:
3939

4040
* IoT Hub doesn't allow arbitrary partitioning. Device-to-cloud messages are partitioned based on their originating **deviceId**.
4141

42-
* As explained in [Control access to IoT Hub](iot-hub-devguide-security.md), IoT Hub enables per-device authentication and access control.
42+
* As explained in [Control access to IoT Hub by using Microsoft Entra ID](iot-hub-devguide-security.md), IoT Hub enables per-device authentication and access control.
4343

44-
* You can stamp messages with information that goes into the application properties. For more information, see [message enrichments](iot-hub-message-enrichments-overview.md).
44+
* You can stamp messages with information that goes into the application properties. For more information, see [Message enrichments for device-to-cloud IoT Hub messages](iot-hub-message-enrichments-overview.md).
4545

4646
> [!NOTE]
47-
> Each IoT Hub protocol provides a message content type property which is respected when routing data to custom endpoints. To have your data properly handled at the destination (for example, JSON being treated as a parsable string instead of Base64 encoded binary data), provide the appropriate content type and charset for the message.
47+
> Each IoT Hub protocol provides a message content type property, which is respected when routing data to custom endpoints. To have your data properly handled at the destination (for example, JSON being treated as a parsable string instead of Base64 encoded binary data), provide the appropriate content type and charset for the message.
4848
4949
To use your message body in an IoT Hub routing query, provide a valid JSON object for the message and set the content type property of the message to `application/json;charset=utf-8`.
5050

@@ -62,21 +62,21 @@ The following example shows a valid, routable message body:
6262

6363
| Property | Description |User Settable?|Keyword for </br>routing query|
6464
| --- | --- | --- | --- |
65-
| message-id |A user-settable identifier for the message used for request-reply patterns. Format: A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus `- : . + % _ # * ? ! ( ) , = @ ; $ '`. | Yes | messageId |
66-
| iothub-enqueuedtime |Date and time the [Device-to-Cloud](iot-hub-devguide-d2c-guidance.md) message was received by IoT Hub. | No | enqueuedTime |
65+
| message-id |A user-settable identifier for the message used for request-reply patterns. Format: A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus `- : . + % _ # * ? ! ( ) , = @ ; $ '`. | Yes | messageId |
66+
| iothub-enqueuedtime |Date and time that IoT Hub receives the [device-to-cloud](iot-hub-devguide-d2c-guidance.md) message. | No | enqueuedTime |
6767
| user-id |An ID used to specify the origin of messages. | Yes | userId |
6868
| iothub-connection-device-id |An ID set by IoT Hub on device-to-cloud messages. It contains the **deviceId** of the device that sent the message. | No | connectionDeviceId |
6969
| iothub-connection-module-id |An ID set by IoT Hub on device-to-cloud messages. It contains the **moduleId** of the device that sent the message. | No | connectionModuleId |
7070
| iothub-connection-auth-generation-id |An ID set by IoT Hub on device-to-cloud messages. It contains the **connectionDeviceGenerationId** (as per [Device identity properties](iot-hub-devguide-identity-registry.md#device-identity-properties)) of the device that sent the message. | No |connectionDeviceGenerationId |
7171
| iothub-connection-auth-method |An authentication method set by IoT Hub on device-to-cloud messages. This property contains information about the authentication method used to authenticate the device sending the message.| No | connectionAuthMethod |
7272
| iothub-app-iothub-creation-time-utc | Allows the device to send event creation time when sending data in a batch. | Yes | creation-time-utc |
7373
| iothub-creation-time-utc | Allows the device to send event creation time when sending one message at a time. | Yes | creation-time-utc |
74-
| dt-dataschema | This value is set by IoT hub on device-to-cloud messages. It contains the device model ID set in the device connection. | No | $dt-dataschema |
74+
| dt-dataschema | The IoT hub sets this value on device-to-cloud messages. It contains the device model ID set in the device connection. | No | $dt-dataschema |
7575
| dt-subject | The name of the component that is sending the device-to-cloud messages. | Yes | $dt-subject |
7676

7777
## Application properties of device-to-cloud messages
7878

79-
A common use of application properties is to send a timestamp from the device using the `iothub-creation-time-utc` property to record when the message was sent by the device. The format of this timestamp must be UTC with no timezone information. For example, `2021-04-21T11:30:16Z` is valid, but `2021-04-21T11:30:16-07:00` is invalid.
79+
A common use of application properties is to send a timestamp from the device using the `iothub-creation-time-utc` property to record when the device sends the message. The format of this timestamp must be UTC with no timezone information. For example, `2021-04-21T11:30:16Z` is valid, but `2021-04-21T11:30:16-07:00` is invalid.
8080

8181
```json
8282
{
@@ -100,13 +100,13 @@ A common use of application properties is to send a timestamp from the device us
100100

101101
| Property | Description |User Settable?|
102102
| --- | --- | --- |
103-
| message-id |A user-settable identifier for the message used for request-reply patterns. Format: A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus `- : . + % _ # * ? ! ( ) , = @ ; $ '`. |Yes|
104-
| sequence-number |A number (unique per device-queue) assigned by IoT Hub to each cloud-to-device message. |No|
105-
| to |A destination specified in [Cloud-to-Device](iot-hub-devguide-c2d-guidance.md) messages. |No|
106-
| absolute-expiry-time |Date and time of message expiration. |Yes|
107-
| correlation-id |A string property in a response message that typically contains the MessageId of the request, in request-reply patterns. |Yes|
108-
| user-id |An ID used to specify the origin of messages. When messages are generated by IoT Hub, the user ID is the IoT hub name. |Yes|
109-
| iothub-ack |A feedback message generator. This property is used in cloud-to-device messages to request IoT Hub to generate feedback messages as a result of the consumption of the message by the device. Possible values: **none** (default): no feedback message is generated, **positive**: receive a feedback message if the message was completed, **negative**: receive a feedback message if the message expired (or maximum delivery count was reached) without being completed by the device, or **full**: both positive and negative. |Yes|
103+
| message-id |A user-settable identifier for the message used for request-reply patterns. Format: A case-sensitive string (up to 128 characters long) of ASCII 7-bit alphanumeric characters plus `- : . + % _ # * ? ! ( ) , = @ ; $ '`. | Yes |
104+
| sequence-number |A number (unique per device-queue) assigned by IoT Hub to each cloud-to-device message. | No |
105+
| to |A destination specified in [cloud-to-device](iot-hub-devguide-c2d-guidance.md) messages. | No |
106+
| absolute-expiry-time |Date and time of message expiration. | Yes |
107+
| correlation-id |A string property in a response message that typically contains the MessageId of the request, in request-reply patterns. | Yes |
108+
| user-id |An ID used to specify the origin of messages. When IoT Hub generates messages, the user ID is the IoT hub name. | Yes |
109+
| iothub-ack |A feedback message generator. This property is used in cloud-to-device messages to request IoT Hub to generate feedback messages as a result of the consumption of the message by the device. Possible values: **none** (default): no feedback message is generated, **positive**: receive a feedback message if the message was completed, **negative**: receive a feedback message if the message expired (or maximum delivery count was reached) without being completed by the device, or **full**: both positive and negative. | Yes |
110110

111111
### System property names
112112

@@ -160,5 +160,5 @@ The **iothub-connection-auth-method** property contains a JSON serialized object
160160
## Next steps
161161

162162
* For information about message size limits in IoT Hub, see [IoT Hub quotas and throttling](iot-hub-devguide-quotas-throttling.md).
163-
* To learn how to create and read IoT Hub messages in various programming languages, see the [Quickstarts](../iot/tutorial-send-telemetry-iot-hub.md?toc=/azure/iot-hub/toc.json&bc=/azure/iot-hub/breadcrumb/toc.json).
164-
* To learn about the structure of non-telemetry events generated by IoT Hub, see [IoT Hub non-telemetry event schemas](iot-hub-non-telemetry-event-schema.md).
163+
* To learn how to create and read IoT Hub messages in various programming languages, see [Tutorial: Send telemetry from an IoT Plug and Play device to Azure IoT Hub](../iot/tutorial-send-telemetry-iot-hub.md?toc=/azure/iot-hub/toc.json&bc=/azure/iot-hub/breadcrumb/toc.json).
164+
* To learn about the structure of non-telemetry events generated by IoT Hub, see [Azure IoT Hub non-telemetry event schemas](iot-hub-non-telemetry-event-schema.md).

0 commit comments

Comments
 (0)