Skip to content

Commit a36474d

Browse files
committed
Updates
1 parent 9be2fa4 commit a36474d

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

articles/iot-hub/how-to-device-twins.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: lizross
88
ms.service: iot-hub
99
ms.devlang: csharp
1010
ms.topic: how-to
11-
ms.date: 07/12/2024
11+
ms.date: 09/10/2024
1212
zone_pivot_groups: iot-hub-howto-c2d-1
1313
ms.custom: mqtt, devx-track-csharp, devx-track-dotnet
1414
---
@@ -17,16 +17,19 @@ ms.custom: mqtt, devx-track-csharp, devx-track-dotnet
1717

1818
Use the Azure IoT Hub device SDK and service SDK to develop applications that handle common device twin tasks. Device twins are JSON documents that store device state information including metadata, configurations, and conditions. IoT Hub persists a device twin for each device that connects to it. You can use device twins to:
1919

20-
* Store device metadata from your solution back end.
21-
* Report current state information such as available capabilities and conditions, for example, the connectivity method used, from your device app.
22-
* Synchronize the state of long-running workflows, such as firmware and configuration updates, between a device app and a back-end app.
23-
* Query your device metadata, configuration, or state.
20+
* Store device metadata from your solution back end
21+
* Report current state information such as available capabilities and conditions, for example, the connectivity method used, from your device app
22+
* Synchronize the state of long-running workflows, such as firmware and configuration updates, between a device app and a back-end app
23+
* Query your device metadata, configuration, or state
2424

2525
For more information about device twins, including when to use device twins, see [Understand device twins](iot-hub-devguide-device-twins.md).
2626

2727
[!INCLUDE [iot-hub-basic](../../includes/iot-hub-basic-whole.md)]
2828

29-
This article shows you how to develop two types of applications. Device apps can handle requests to update desired properties and respond with changes to reported properties. Service apps can update device twin tags, set new desired properties, and query devices based on device twin values.
29+
This article shows you how to develop two types of applications:
30+
31+
* Device apps can handle requests to update desired properties and respond with changes to reported properties.
32+
* Service apps can update device twin tags, set new desired properties, and query devices based on device twin values.
3033

3134
> [!NOTE]
3235
> This article is meant to complement [Azure IoT SDKs](iot-hub-devguide-sdks.md) samples that are referenced from within this article. You can use SDK tools to build both device and back-end applications.
@@ -37,8 +40,6 @@ This article shows you how to develop two types of applications. Device apps can
3740

3841
* **A registered device**. Some SDK calls require the device primary connection string, so make a note of the connection string.
3942

40-
* Make sure that **port 8883** is open in your firewall. The device sample in this article uses MQTT protocol, which communicates over port 8883. This port may be blocked in some corporate and educational network environments. For more information and ways to work around this issue, see [Connecting to IoT Hub (MQTT)](../iot/iot-mqtt-connect-to-iot-hub.md#connecting-to-iot-hub).
41-
4243
* **IoT Hub service connection string**
4344

4445
In this article, you create a back-end service that adds desired properties to a device twin and then queries the identity registry to find all devices with reported properties that have been updated accordingly. Your service needs the **service connect** permission to modify desired properties of a device twin, and it needs the **registry read** permission to query the identity registry. There is no default shared access policy that contains only these two permissions, so you need to create one.

0 commit comments

Comments
 (0)