You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-hub/iot-hub-devguide-messages-read-custom.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,8 +36,6 @@ When you use routing and custom endpoints, messages are only delivered to the bu
36
36
> * Service Bus queues and topics with **Sessions** or **Duplicate Detection** enabled are not supported as custom endpoints.
37
37
> * In the Azure portal, you can create custom routing endpoints only to Azure resources that are in the same subscription as your IoT hub. You can create custom endpoints for resources in other subscriptions by using either the [Azure CLI](./tutorial-routing.md) or Azure Resource Manager.
38
38
39
-
<!--TODO: Add link to Azure RM routing how-to once it's created -->
40
-
41
39
For more information about creating custom endpoints in IoT Hub, see [IoT Hub endpoints](iot-hub-devguide-endpoints.md).
42
40
43
41
For more information about reading from custom endpoints, see:
Copy file name to clipboardExpand all lines: articles/iot-hub/iot-hub-how-to-clone.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ There are several things to consider before cloning an IoT hub.
37
37
38
38
* Many resources require globally unique names, so you must use different names for the cloned versions. You also should use a different name for the resource group to which the cloned hub belongs.
39
39
40
-
* Data for the original IoT hub isn't migrated. This data includes telemetry messages, cloud-to-device (C2D) commands, and job-related information such as schedules and history. Metrics and logging results are also not migrated.
40
+
* Data for the original IoT hub isn't migrated. This data includes device messages, cloud-to-device (C2D) commands, and job-related information such as schedules and history. Metrics and logging results are also not migrated.
41
41
42
42
* For data or messages routed to Azure Storage, you can leave the data in the original storage account, transfer that data to a new storage account in the new region, or leave the old data in place and create a new storage account in the new location for the new data. For more information on moving data in Blob storage, see [Get started with AzCopy](../storage/common/storage-use-azcopy-v10.md).
43
43
@@ -51,7 +51,7 @@ There are several things to consider before cloning an IoT hub.
51
51
52
52
* Otherwise, you have to use the Import/Export method to move the devices, and then the devices have to be modified to use the new hub. For example, you can set up your device to consume the IoT Hub host name from the twin desired properties. The device will take that IoT Hub host name, disconnect the device from the old hub, and reconnect it to the new one.
53
53
54
-
* You need to update any certificates so you can use them with the new resources. Also, you probably have the hub defined in a DNS table somewhere — you need to update that DNS information.
54
+
* You need to update any certificates so you can use them with the new resources. Also, you probably have the hub defined in a DNS table somewhere and need to update that DNS information.
55
55
56
56
## Methodology
57
57
@@ -258,9 +258,9 @@ You have to make some changes before you can use the template to create the new
258
258
``` json
259
259
"location": "eastus",
260
260
```
261
-
#### Update the keys for the routing resources that are not being moved
261
+
#### Update the keys for the routing resources that aren't being moved
262
262
263
-
When you export the Resource Manager template for a hub that has routing configured, you will see that the keys for those resources are not provided in the exported template. Their placement is denoted by asterisks. You must fill them in by going to those resources in the portal and retrieving the keys **before** you import the new hub's template and create the hub.
263
+
When you export the Resource Manager template for a hub that has routing configured, you will see that the keys for those resources aren't provided in the exported template. Their placement is denoted by asterisks. You must fill them in by going to those resources in the portal and retrieving the keys **before** you import the new hub's template and create the hub.
264
264
265
265
1. Retrieve the keys required for any of the routing resources and put them in the template. You can retrieve the key(s) from the resource in the [Azure portal](https://portal.azure.com).
266
266
@@ -274,7 +274,7 @@ When you export the Resource Manager template for a hub that has routing configu
274
274
275
275
1. After you retrieve the account key for the storage account, put it in the template in the clause `AccountKey=****` in the place of the asterisks.
276
276
277
-
1. For service bus queues, get the Shared Access Key matching the SharedAccessKeyName. Here is the key and the `SharedAccessKeyName` in the json:
277
+
1. For service bus queues, get the Shared Access Key matching the SharedAccessKeyName. Here's the key and the `SharedAccessKeyName` in the json:
@@ -307,7 +307,7 @@ If you want to move the routing resources, you must manually set up the resource
307
307
308
308
Now you have a template that will create a new hub that looks almost exactly like the old hub, depending on how you decided to handle the routing.
309
309
310
-
## Move -- create the new hub in the new region by loading the template
310
+
## Create the new hub in the new region by loading the template
311
311
312
312
Create the new hub in the new location using the template. If you have routing resources that are going to move, the resources should be set up in the new location and the references in the template updated to match. If you are not moving the routing resources, they should be in the template with the updated keys.
313
313
@@ -355,9 +355,9 @@ Create the new hub in the new location using the template. If you have routing r
355
355
356
356
Now that you have your clone up and running, you need to copy all of the devices from the original hub to the clone.
357
357
358
-
There are multiple ways to copy the devices. You either originally used [Device Provisioning Service (DPS)](../iot-dps/about-iot-dps.md)to provision the devices, or you didn't. If you did, this process is not difficult. If you did not, this process can be complicated.
358
+
There are multiple ways to copy the devices. You either originally used [Device Provisioning Service (DPS)](../iot-dps/about-iot-dps.md)to provision the devices, or you didn't. If you did, this process isn't difficult. If you didn't, this process can be complicated.
359
359
360
-
If you did not use DPS to provision your devices, you can skip the next section and start with [Using Import/Export to move the devices to the new hub](#using-import-export-to-move-the-devices-to-the-new-hub).
360
+
If you didn't use DPS to provision your devices, you can skip the next section and start with [Using Import/Export to move the devices to the new hub](#using-import-export-to-move-the-devices-to-the-new-hub).
361
361
362
362
## Using DPS to re-provision the devices in the new hub
363
363
@@ -399,11 +399,11 @@ Here are the five options you specify when you run the application. We'll put th
399
399
400
400
* **copyDevices** (argument 3) -- set this to true to copy the devices from one hub to another.
401
401
402
-
* **deleteSourceDevices** (argument 4) -- set this to true to delete all of the devices registered to the source hub. We recommending waiting until you are certain all of the devices have been transferred before you run this. Once you delete the devices, you can't get them back.
402
+
* **deleteSourceDevices** (argument 4) -- set this to true to delete all of the devices registered to the source hub. We recommend waiting until you are certain all of the devices have been transferred before you run this. Once you delete the devices, you can't get them back.
403
403
404
404
* **deleteDestDevices** (argument 5) -- set this to true to delete all of the devices registered to the destination hub (the clone). You might want to do this if you want to copy the devices more than once.
405
405
406
-
The basic command is be *dotnet run*, which tells .NET to build the local csproj file and then run it. You add your command-line arguments to the end before you run it.
406
+
The basic command is *dotnet run*, which tells .NET to build the local csproj file and then run it. You add your command-line arguments to the end before you run it.
407
407
408
408
Your command-line will look like these examples:
409
409
@@ -521,7 +521,7 @@ You can view the devices in the [Azure portal](https://portal.azure.com) and ver
521
521
522
522
1. Check for import/export errors by going to the Azure storage account in the [Azure portal](https://portal.azure.com) and looking in the `devicefiles` container for the `ImportErrors.log`. If this file is empty (the size is 0), there were no errors. If you try to import the same device more than once, it rejects the device the second time and adds an error message to the log file.
523
523
524
-
### Committing the changes
524
+
### Commit the changes
525
525
526
526
At this point, you have copied your hub to the new location and migrated the devices to the new clone. Now you need to make changes so the devices work with the cloned hub.
Copy file name to clipboardExpand all lines: articles/iot-hub/tutorial-routing.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ In this tutorial, you perform the following tasks:
43
43
44
44
# [Azure portal](#tab/portal)
45
45
46
-
There are no additional prerequisites for the Azure portal.
46
+
There are no other prerequisites for the Azure portal.
47
47
48
48
# [Azure CLI](#tab/cli)
49
49
@@ -89,7 +89,7 @@ Register a new device in your IoT hub.
89
89
deviceName=DEVICE_NAME
90
90
```
91
91
92
-
1. Run the [az iot hub device-identity create](/cli/azure/iot/hub/device-identity#az-iot-hub-device-identity-create) command in your CLI shell. This creates the device identity.
92
+
1. Run the [az iot hub device-identity create](/cli/azure/iot/hub/device-identity#az-iot-hub-device-identity-create) command in your CLI shell. This command creates the device identity.
93
93
94
94
```azurecli-interactive
95
95
az iot hub device-identity create --device-id $deviceName --hub-name $hubName
@@ -110,7 +110,7 @@ Now that you have a device ID and key, use the sample code to start sending devi
110
110
1. In an editor of your choice, open the `Program.cs` file.
111
111
1. Find the variable definitions at the top of the **Program** class. Update the following variables with your own information:
112
112
113
-
***s_myDeviceId**: The device Id that you assigned when registering the device.
113
+
***s_myDeviceId**: The device ID that you assigned when registering the device.
114
114
***s_iotHubUri**: The hostname of your IoT hub, which takes the format `IOTHUB_NAME.azure-devices.net`.
115
115
***s_deviceKey**: The device key that you copied from the device identity information.
116
116
@@ -180,19 +180,19 @@ Now, use that connection string to configure IoT Explorer for your IoT hub.
180
180
181
181
Watch the incoming messages for a few moments to verify that you see three different types of messages: normal, storage, and critical.
182
182
183
-
These messages are all arriving at the default built-in endpoint for your IoT hub. In the next sections we're going to create a custom endpoint and route some of these messages to storage based on the message properties. Those messages will stop appearing in IoT Explorer because messages only go to the built-in endpoint when they don't match any other routes in IoT hub.
183
+
These messages are all arriving at the default built-in endpoint for your IoT hub. In the next sections, we're going to create a custom endpoint and route some of these messages to storage based on the message properties. Those messages will stop appearing in IoT Explorer because messages only go to the built-in endpoint when they don't match any other routes in IoT hub.
184
184
185
185
## Set up message routing
186
186
187
-
You are going to route messages to different resources based on properties attached to the message by the simulated device. Messages that are not custom routed are sent to the default endpoint (messages/events).
187
+
You're going to route messages to different resources based on properties attached to the message by the simulated device. Messages that aren't custom routed are sent to the default endpoint (messages/events).
188
188
189
189
The sample app for this tutorial assigns a **level** property to each message it sends to IoT hub. Each message is randomly assigned a level of **normal**, **storage**, or **critical**.
190
190
191
191
The first step is to set up the endpoint to which the data will be routed. The second step is to set up the message route that uses that endpoint. After setting up the routing, you can view endpoints and message routes in the portal.
192
192
193
193
### Create a storage account
194
194
195
-
Create an Azure Storage account and a container within that account which will hold the device messages that are routed to it.
195
+
Create an Azure Storage account and a container within that account, which will hold the device messages that are routed to it.
196
196
197
197
# [Azure portal](#tab/portal)
198
198
@@ -257,7 +257,7 @@ Create an Azure Storage account and a container within that account which will h
257
257
258
258
### Route to a storage account
259
259
260
-
Now set up the routing for the storage account. In this section you define a new endpoint that points to the storage account you just created. Then, create a route that filters for messages where the **level** property is set to **storage**, and route those to the storage endpoint.
260
+
Now set up the routing for the storage account. In this section you define a new endpoint that points to the storage account you created. Then, create a route that filters for messages where the **level** property is set to **storage**, and route those to the storage endpoint.
@@ -281,7 +281,7 @@ Now set up the routing for the storage account. In this section you define a new
281
281
| --------- | ----- |
282
282
|**Endpoint name**| Create a name for this endpoint. |
283
283
|**Azure Storage container**| Select **Pick a container**, which takes you to a list of storage accounts. Choose the storage account that you created in the previous section, then choose the container that you created in that account. Select **Select**.|
284
-
|**Encoding**| Select **JSON**. If this field is greyed out, then your storage account region does not support JSON. In that case, continue with the default **AVRO**. |
284
+
|**Encoding**| Select **JSON**. If this field is greyed out, then your storage account region doesn't support JSON. In that case, continue with the default **AVRO**. |
285
285
286
286

287
287
@@ -349,7 +349,7 @@ Once the route is created in IoT Hub and enabled, it will immediately start rout
349
349
350
350
### Monitor the built-in endpoint with IoT Explorer
351
351
352
-
Return to the IoT Explorer session on your development machine. Recall that the IoT Explorer monitors the built-in endpoing for your IoT hub. That means that now you should be seeing only the messages that are *not* being routed by the custom route we created. Watch the incoming messages for a few moments and you should only see messages where `level` is set to `normal` or `critical`.
352
+
Return to the IoT Explorer session on your development machine. Recall that the IoT Explorer monitors the built-in endpoint for your IoT hub. That means that now you should be seeing only the messages that are *not* being routed by the custom route we created. Watch the incoming messages for a few moments and you should only see messages where `level` is set to `normal` or `critical`.
353
353
354
354
### View messages in the storage container
355
355
@@ -404,7 +404,7 @@ If you want to remove all of the Azure resources you used for this tutorial, del
404
404
405
405
## Next steps
406
406
407
-
In this tutorial you learned how to create a custom endpoint for an Azure resource and then create a route to send device messages to that endpoint. Continue to the next tutorial to learn how to enrich messages with additional data that can be used to simplify downstream processing
407
+
In this tutorial you learned how to create a custom endpoint for an Azure resource and then create a route to send device messages to that endpoint. Continue to the next tutorial to learn how to enrich messages with extra data that can be used to simplify downstream processing
0 commit comments