Tutorial: Verwenden der Azure CLI und des Azure-Portals zum Konfigurieren des IoT Hub-NachrichtenroutingsTutorial: Use the Azure CLI and Azure portal to configure IoT Hub message routing

Das Nachrichtenrouting ermöglicht das Senden von Telemetriedaten von Ihren IoT-Geräten an integrierte, Event Hub-kompatible Endpunkte oder benutzerdefinierte Endpunkte wie Blob Storage-Instanzen, Service Bus-Warteschlangen, Service Bus-Themen und Event Hubs.Message routing enables sending telemetry data from your IoT devices to built-in Event Hub-compatible endpoints or custom endpoints such as blob storage, Service Bus Queues, Service Bus Topics, and Event Hubs. Zum Konfigurieren des benutzerdefinierten Nachrichtenroutings erstellen Sie Routingabfragen, um die Route anzupassen, die eine bestimmte Bedingung erfüllt.To configure custom message routing, you create routing queries to customize the route that matches a certain condition. Nach der Einrichtung werden die eingehenden Daten von IoT Hub automatisch an die Endpunkte weitergeleitet.Once set up, the incoming data is automatically routed to the endpoints by the IoT Hub. Wenn eine Nachricht nicht mit einer der definierten Routingabfragen übereinstimmt, wird sie an den Standardendpunkt geleitet.If a message doesn't match any of the defined routing queries, it is routed to the default endpoint.

In diesem zweiteiligen Tutorial lernen Sie, wie Sie diese benutzerdefinierten Routingabfragen mit IoT Hub einrichten und verwenden.In this 2-part tutorial, you learn how to set up and use these custom routing queries with IoT Hub. Sie leiten Nachrichten von einem IoT-Gerät an einen von mehreren Endpunkten weiter, z. B. Blob Storage oder eine Service Bus-Warteschlange.You route messages from an IoT device to one of multiple endpoints, including blob storage and a Service Bus queue. Nachrichten an die Service Bus-Warteschlange werden über eine Logik-App per E-Mail gesendet.Messages to the Service Bus queue are picked up by a Logic App and sent via e-mail. Nachrichten, für die kein benutzerdefiniertes Nachrichtenrouting definiert ist, werden an den Standardendpunkt gesendet und dann von Azure Stream Analytics ausgewählt und in einer Power BI-Visualisierung angezeigt.Messages that do not have custom message routing defined are sent to the default endpoint, then picked up by Azure Stream Analytics and viewed in a Power BI visualization.

Sie führen die folgenden Aufgaben aus, um Teil 1 und 2 dieses Tutorials durchzuarbeiten:To complete Parts 1 and 2 of this tutorial, you perform the following tasks:

Teil 1: Erstellen von Ressourcen, Einrichten des NachrichtenroutingsPart I: Create resources, set up message routing

  • Sie erstellen die Ressourcen: einen IoT-Hub, ein Speicherkonto, eine Service Bus-Warteschlange und ein simuliertes Gerät.Create the resources -- an IoT hub, a storage account, a Service Bus queue, and a simulated device. Hierfür können Sie das Portal, eine Azure Resource Manager-Vorlage, die Azure CLI oder Azure PowerShell verwenden.This can be done using the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.
  • Sie konfigurieren die Endpunkte und Nachrichtenrouten in IoT Hub für das Speicherkonto und die Service Bus-Warteschlange.Configure the endpoints and message routes in IoT Hub for the storage account and Service Bus queue.

Teil 2: Senden von Nachrichten an den Hub, Anzeigen von RoutingergebnissenPart II: Send messages to the hub, view routed results

  • Sie erstellen eine Logik-App, die ausgelöst wird und eine E-Mail sendet, wenn der Service Bus-Warteschlange eine Nachricht hinzugefügt wird.Create a Logic App that is triggered and sends e-mail when a message is added to the Service Bus queue.
  • Sie laden eine App herunter und führen sie aus, die ein IoT-Gerät simuliert, das für die verschiedenen Weiterleitungsoptionen Nachrichten an den Hub sendet.Download and run an app that simulates an IoT Device sending messages to the hub for the different routing options.
  • Sie erstellen eine Power BI-Visualisierung für die Daten, die an den Standardendpunkt gesendet werden.Create a Power BI visualization for data sent to the default endpoint.
  • Sie zeigen die Ergebnisse an:View the results ...
  • – in der Service Bus-Warteschlange und in E-Mails...in the Service Bus queue and e-mails.
  • – im Speicherkonto...in the storage account.
  • – in der Power BI-Visualisierung...in the Power BI visualization.

VoraussetzungenPrerequisites

  • Für Teil 1 dieses Tutorials:For Part 1 of this tutorial:

    • Sie benötigen ein Azure-Abonnement.You must have an Azure subscription. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.
  • Für Teil 2 dieses Tutorials:For Part 2 of this tutorial:

    • Sie müssen Teil 1 dieses Tutorials abgeschlossen haben, und die Ressourcen müssen noch verfügbar sein.You must have completed Part 1 of this tutorial, and have the resources still available.
    • Installieren Sie Visual Studio.Install Visual Studio.
    • Zugriff auf ein Power BI-Konto zum Analysieren der Stream Analytics-Daten des Standardendpunkts.Have access to a Power BI account to analyze the default endpoint's stream analytics. (Power BI kostenlos testen)(Try Power BI for free.)
    • Sie müssen über ein Geschäfts-, Schul-oder Unikonto zum Senden von Benachrichtigungs-E-Mails verfügen.Have a work or school account for sending notification e-mails.
    • Stellen Sie sicher, dass Port 8883 in Ihrer Firewall geöffnet ist.Make sure that port 8883 is open in your firewall. Für das Beispiel in diesem Tutorial wird das MQTT-Protokoll verwendet, das über Port 8883 kommuniziert.The sample in this tutorial uses MQTT protocol, which communicates over port 8883. In einigen Netzwerkumgebungen von Unternehmen oder Bildungseinrichtungen ist dieser Port unter Umständen blockiert.This port may be blocked in some corporate and educational network environments. Weitere Informationen und Problemumgehungen finden Sie unter Herstellen einer Verbindung mit IoT Hub (MQTT).For more information and ways to work around this issue, see Connecting to IoT Hub (MQTT).

Verwenden von Azure Cloud ShellUse Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Starten von Azure Cloud Shell:To start Azure Cloud Shell:

OptionOption Beispiel/LinkExample/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.Selecting Try It doesn't automatically copy the code to Cloud Shell. Beispiel für „Testen Sie es.“ für Azure Cloud Shell
Rufen Sie https://shell.azure.com auf, oder wählen Sie die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Starten von Cloud Shell in einem neuen FensterLaunch Cloud Shell in a new window
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Cloud Shell-Schaltfläche im Azure-Portal

Ausführen des Codes in diesem Artikel in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Starten Sie Cloud Shell.Start Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.Select the Copy button on a code block to copy the code.

  3. Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Drücken Sie die EINGABETASTE, um den Code auszuführen.Select Enter to run the code.

Erstellen der grundlegenden RessourcenCreate base resources

Bevor Sie das Nachrichtenrouting konfigurieren können, müssen Sie zunächst eine IoT Hub-Instanz, ein Speicherkonto und eine Service Bus-Warteschlange erstellen.Before you can configure the message routing, you need to create an IoT hub, a storage account, and a Service Bus queue. Diese Ressourcen können anhand eines der vier Artikel erstellt werden, die für den ersten Teil dieses Tutorials verfügbar sind. In diesen Artikeln wird die Vorgehensweise mit dem Azure-Portal, mit einer Azure Resource Manager-Vorlage, der Azure CLI und mit Azure PowerShell erläutert.These resources can be created using one of the four articles that are available for Part 1 of this tutorial: the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.

Verwenden Sie für alle Ressourcen die gleiche Ressourcengruppe und den gleichen Speicherort.Use the same resource group and location for all of the resources. Am Ende dieses Tutorials können Sie dann sämtliche Ressourcen in einem einzelnen Schritt entfernen, indem Sie die Ressourcengruppe löschen.Then at the end, you can remove all of the resources in one step by deleting the resource group.

Nachfolgend finden Sie eine Zusammenfassung der Schritte, die in den folgenden Abschnitten ausgeführt werden müssen:Below is a summary of the steps to be performed in the following sections:

  1. Erstellen Sie eine Ressourcengruppe.Create a resource group.

  2. Erstellen Sie eine IoT Hub-Instanz im Tarif S1.Create an IoT hub in the S1 tier. Fügen Sie Ihrer IoT Hub-Instanz eine Consumergruppe hinzu.Add a consumer group to your IoT hub. Die Consumergruppe wird beim Abrufen von Daten von Azure Stream Analytics verwendet.The consumer group is used by the Azure Stream Analytics when retrieving data.

    Hinweis

    Sie müssen eine IoT Hub-Instanz in einem kostenpflichtigen Tarif verwenden, um dieses Tutorial abzuschließen.You must use an Iot hub in a paid tier to complete this tutorial. Im Free-Tarif können Sie nur einen einzelnen Endpunkt einrichten, und dieses Tutorial erfordert mehrere Endpunkte.The free tier only allows you to set up one endpoint, and this tutorial requires multiple endpoints.

  3. Erstellen Sie ein Speicherkonto des Typs „Standard V1“ mit Standard_LRS-Replikation.Create a standard V1 storage account with Standard_LRS replication.

  4. Erstellen Sie einen Service Bus-Namespace und eine Service Bus-Warteschlange.Create a Service Bus namespace and queue.

  5. Erstellen Sie eine Geräteidentität für das simulierte Gerät, das Nachrichten an Ihren Hub sendet.Create a device identity for the simulated device that sends messages to your hub. Speichern Sie den Schlüssel für die Testphase.Save the key for the testing phase. (Wenn Sie eine Resource Manager-Vorlage erstellen, erfolgt dieser Schritt nach Bereitstellung der Vorlage.)(If creating a Resource Manager template, this is done after deploying the template.)

Verwenden der Azure CLI zum Erstellen der grundlegenden RessourcenUse the Azure CLI to create the base resources

In diesem Tutorial wird die Azure CLI zum Erstellen der grundlegenden Ressourcen und anschließend das Azure-Portal verwendet, um zu veranschaulichen, wie Sie das Nachrichtenrouting konfigurieren und das virtuelle Gerät für das Testen einrichten.This tutorial uses the Azure CLI to create the base resources, then uses the Azure portal to show how to configure message routing and set up the virtual device for testing.

Kopieren Sie das folgende Skript, fügen Sie es in Cloud Shell ein, und drücken Sie die EINGABETASTE.Copy and paste the script below into Cloud Shell and press Enter. Daraufhin wird das Skript Zeile für Zeile ausgeführt.It runs the script one line at a time. Hiermit werden die grundlegenden Ressourcen für dieses Tutorial erstellt, z. B. Speicherkonto, IoT Hub, Service Bus-Namespace und Service Bus-Warteschlange.This will create the base resources for this tutorial, including the storage account, IoT Hub, Service Bus Namespace, and Service Bus queue.

Einige Ressourcennamen müssen global eindeutig sein. Hierzu zählen beispielsweise der IoT Hub-Name und der Name des Speicherkontos.There are several resource names that must be globally unique, such as the IoT Hub name and the storage account name. Zur Vereinfachung wird an diese Ressourcennamen ein alphanumerischer Zufallswert namens randomValue angefügt.To make this easier, those resource names are appended with a random alphanumeric value called randomValue. Der Zufallswert wird einmalig zu Beginn des Skripts generiert und innerhalb des gesamten Skripts nach Bedarf an die Ressourcennamen angefügt.The randomValue is generated once at the top of the script and appended to the resource names as needed throughout the script. Falls Sie keinen Zufallswert verwenden möchten, können Sie den Wert auf eine leere Zeichenfolge oder auf einen bestimmten Wert festlegen.If you don't want it to be random, you can set it to an empty string or to a specific value.

Tipp

Ein Tipp zum Debuggen: Dieses Skript verwendet das Fortsetzungssymbol (umgekehrter Schrägstrich: \), um die Lesbarkeit des Skripts zu verbessern.A tip about debugging: this script uses the continuation symbol (the backslash \) to make the script more readable. Falls beim Ausführen des Skripts ein Problem auftritt, sollten Sie sich vergewissern, dass in Ihrer Cloud Shell-Sitzung bash ausgeführt wird und dass nach keinem der umgekehrten Schrägstriche ein Leerzeichen steht.If you have a problem running the script, make sure your Cloud Shell session is running bash and that there are no spaces after any of the backslashes.

# This retrieves the subscription id of the account 
#   in which you're logged in.
# This field is used to set up the routing queries.
subscriptionID=$(az account show --query id)

# Concatenate this number onto the resources that have to be globally unique.
# You can set this to "" or to a specific value if you don't want it to be random.
# This retrieves a random value.
randomValue=$RANDOM

# Set the values for the resource names that 
#   don't have to be globally unique.
location=westus
resourceGroup=ContosoResources
iotHubConsumerGroup=ContosoConsumers
containerName=contosoresults

# Create the resource group to be used
#   for all the resources for this tutorial.
az group create --name $resourceGroup \
    --location $location

# The IoT hub name must be globally unique, 
#   so add a random value to the end.
iotHubName=ContosoTestHub$randomValue 
echo "IoT hub name = " $iotHubName

# Create the IoT hub.
az iot hub create --name $iotHubName \
    --resource-group $resourceGroup \
    --sku S1 --location $location

# Add a consumer group to the IoT hub for the 'events' endpoint.
az iot hub consumer-group create --hub-name $iotHubName \
    --name $iotHubConsumerGroup

# The storage account name must be globally unique, 
#   so add a random value to the end.
storageAccountName=contosostorage$randomValue
echo "Storage account name = " $storageAccountName

# Create the storage account to be used as a routing destination.
az storage account create --name $storageAccountName \
    --resource-group $resourceGroup \
    --location $location \
    --sku Standard_LRS

# Get the primary storage account key. 
#    You need this to create the container.
storageAccountKey=$(az storage account keys list \
    --resource-group $resourceGroup \
    --account-name $storageAccountName \
    --query "[0].value" | tr -d '"') 

# See the value of the storage account key.
echo "storage account key = " $storageAccountKey

# Create the container in the storage account. 
az storage container create --name $containerName \
    --account-name $storageAccountName \
    --account-key $storageAccountKey \
    --public-access off

# The Service Bus namespace must be globally unique, 
#   so add a random value to the end.
sbNamespace=ContosoSBNamespace$randomValue
echo "Service Bus namespace = " $sbNamespace

# Create the Service Bus namespace.
az servicebus namespace create --resource-group $resourceGroup \
    --name $sbNamespace \
    --location $location

# The Service Bus queue name must be globally unique, 
#   so add a random value to the end.
sbQueueName=ContosoSBQueue$randomValue
echo "Service Bus queue name = " $sbQueueName

# Create the Service Bus queue to be used as a routing destination.
az servicebus queue create --name $sbQueueName \
    --namespace-name $sbNamespace \
    --resource-group $resourceGroup

Nachdem die grundlegenden Ressourcen eingerichtet wurden, können Sie das Nachrichtenrouting im Azure-Portal konfigurieren.Now that the base resources are set up, you can configure the message routing in the Azure portal.

Einrichten der NachrichtenweiterleitungSet up message routing

Sie leiten Nachrichten an verschiedene Ressourcen weiter, abhängig von Eigenschaften, die vom simulierten Gerät an die Nachricht angefügt werden.You are going to route messages to different resources based on properties attached to the message by the simulated device. Nachrichten ohne benutzerdefinierte Weiterleitung, werden an den Standardendpunkt gesendet (Nachrichten/Ereignisse).Messages that are not custom routed are sent to the default endpoint (messages/events). Im nächsten Tutorial werden Nachrichten an IoT Hub gesendet und an verschiedene Ziele weitergeleitet.In the next tutorial, you send messages to the IoT Hub and see them routed to the different destinations.

valueValue ErgebnisResult
level="storage"level="storage" Schreibvorgang in Azure Storage.Write to Azure Storage.
level="critical"level="critical" Schreibvorgang in eine Service Bus-Warteschlange.Write to a Service Bus queue. Eine Logik-App ruft die Nachricht aus der Warteschlange ab und sendet sie mithilfe von Office 365.A Logic App retrieves the message from the queue and uses Office 365 to e-mail the message.
defaultdefault Anzeigen dieser Daten mithilfe von Power BI.Display this data using Power BI.

Als Erstes muss der Endpunkt eingerichtet werden, an den die Daten weitergeleitet werden.The first step is to set up the endpoint to which the data will be routed. Danach wird die Nachrichtenroute eingerichtet, die diesen Endpunkt verwendet.The second step is to set up the message route that uses that endpoint. Nach Einrichtung des Routings können Sie die Endpunkte und Nachrichtenrouten im Portal anzeigen.After setting up the routing, you can view the endpoints and message routes in the portal.

Weiterleiten an ein SpeicherkontoRoute to a storage account

Richten Sie jetzt die Weiterleitung für das Speicherkonto ein.Now set up the routing for the storage account. Wechseln Sie zum Bereich „Nachrichtenrouting“, und fügen Sie eine Route hinzu.You go to the Message Routing pane, then add a route. Definieren Sie beim Hinzufügen der Route einen neuen Endpunkt für die Route.When adding the route, define a new endpoint for the route. Nach der Einrichtung des Routings werden Nachrichten, deren level-Eigenschaft auf storage festgelegt wurde, automatisch in ein Speicherkonto geschrieben.After this routing is set up, messages where the level property is set to storage are written to a storage account automatically.

Hinweis

Die Daten können entweder im Apache Avro-Format (Standardeinstellung) oder im JSON-Format (Vorschauversion) in den Blobspeicher geschrieben werden.The data can be written to blob storage in either the Apache Avro format, which is the default, or JSON (preview).

Die Funktion zum Codieren im JSON-Format befindet sich in allen Regionen, in denen IoT Hub verfügbar ist, in der Vorschauphase (mit Ausnahme von „USA, Osten“ und „Europa, Westen“).The capability to encode JSON format is in preview in all regions in which IoT Hub is available, except East US, West US and West Europe. Das Codierungsformat kann nur beim Konfigurieren des Blob Storage-Endpunkt festgelegt werden.The encoding format can be only set at the time the blob storage endpoint is configured. Für bereits eingerichtete Endpunkte kann das Format nicht mehr geändert werden.The format cannot be changed for an endpoint that has already been set up. Bei Verwendung der JSON-Codierung müssen Sie in den Nachrichtensystemeigenschaften den Inhaltstyp (contentType) auf „JSON“ und die Inhaltscodierung (contentEncoding) auf „UTF-8“ festlegen.When using JSON encoding, you must set the contentType to JSON and the contentEncoding to UTF-8 in the message system properties.

Ausführlichere Informationen zur Verwendung eines Blob Storage-Endpunkts finden Sie unter Leitfaden zum Weiterleiten an den Speicher.For more detailed information about using a blob storage endpoint, please see guidance on routing to storage.

  1. Wählen Sie im Azure-Portal die Option Ressourcengruppen und dann Ihre Ressourcengruppe aus.In the Azure portal, select Resource Groups, then select your resource group. In diesem Tutorial wird ContosoResources verwendet.This tutorial uses ContosoResources.

  2. Wählen Sie in der Liste mit den Ressourcen Ihren IoT-Hub aus.Select the IoT hub under the list of resources. In diesem Tutorial wird ContosoTestHub verwendet.This tutorial uses ContosoTestHub.

  3. Wählen Sie Nachrichtenrouting.Select Message Routing. Wählen Sie im Bereich Nachrichtenrouting die Option + Hinzufügen.In the Message Routing pane, select +Add. Wählen Sie im Bereich Route hinzufügen neben dem Feld „Endpunkt“ die Option + Hinzufügen aus, um die unterstützten Endpunkte anzuzeigen. Dies ist in der folgenden Abbildung dargestellt:On the Add a Route pane, select +Add next to the Endpoint field to show the supported endpoints, as displayed in the following picture:

    Beginnen mit dem Hinzufügen eines Endpunkts für eine Route

  4. Wählen Sie Blob Storage aus.Select Blob storage. Der Bereich Speicherendpunkt hinzufügen wird angezeigt.You see the Add a storage endpoint pane.

    Hinzufügen eines Endpunkts

  5. Geben Sie einen Namen für den Endpunkt ein.Enter a name for the endpoint. In diesem Tutorial wird ContosoStorageEndpoint verwendet.This tutorial uses ContosoStorageEndpoint.

  6. Wählen Sie Container auswählen.Select Pick a container. Dadurch gelangen Sie zu einer Liste Ihrer Speicherkonten.This takes you to a list of your storage accounts. Wählen Sie das Konto aus, das Sie in den Vorbereitungsschritten eingerichtet haben.Select the one you set up in the preparation steps. In diesem Tutorial wird contosostorage verwendet.This tutorial uses contosostorage. Es zeigt eine Liste der Container in diesem Speicherkonto.It shows a list of containers in that storage account. Wählen Sie den Container aus, den Sie in den Vorbereitungsschritten eingerichtet haben.Select the container you set up in the preparation steps. In diesem Tutorial wird contosoresults verwendet.This tutorial uses contosoresults. Sie gelangen zurück zum Bereich Neuen Speicherendpunkt hinzufügen, und die getroffene Auswahl wird angezeigt.You return to the Add a storage endpoint pane and see the selections you made.

  7. Legen Sie die Codierung auf AVRO oder JSON fest.Set the encoding to AVRO or JSON. Verwenden Sie in diesem Tutorial die Standardwerte für die restlichen Felder.For the purpose of this tutorial, use the defaults for the rest of the fields. Dieses Feld ist ausgegraut, wenn die JSON-Codierung für die ausgewählte Region nicht unterstützt wird.This field will be greyed out if the region selected does not support JSON encoding.,

    Hinweis

    Sie können das Format des Blobnamens festlegen, indem Sie das Format für Blobdateinamen verwenden.You can set the format of the blob name using the Blob file name format. Der Standardwert lautet {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}.The default is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. Das Format muss {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH} und {mm} in einer beliebigen Reihenfolge enthalten.The format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH}, and {mm} in any order.

    Bei Verwendung des Standardformats für Blobdateinamen sieht der Blobname beispielsweise wie folgt aus, wenn der Hubname „ContosoTestHub“ lautet und als Datum bzw. Uhrzeit „30. Oktober 2018 um 10:56 Uhr“ verwendet wird: ContosoTestHub/0/2018/10/30/10/56.For example, using the default blob file name format, if the hub name is ContosoTestHub, and the date/time is October 30, 2018 at 10:56 a.m., the blob name will look like this: ContosoTestHub/0/2018/10/30/10/56.

    Die Blobs werden im Avro-Format geschrieben.The blobs are written in the Avro format.

  8. Wählen Sie Erstellen, um den Speicherendpunkt zu erstellen und der Route hinzuzufügen.Select Create to create the storage endpoint and add it to the route. Sie wechseln zurück zum Bereich Route hinzufügen.You return to the Add a route pane.

  9. Geben Sie nun die restlichen Routingabfrageinformationen an.Now complete the rest of the routing query information. Diese Abfrage gibt die Kriterien für das Senden von Nachrichten an den Speichercontainer, den Sie gerade als Endpunkt hinzugefügt haben, an.This query specifies the criteria for sending messages to the storage container you just added as an endpoint. Füllen Sie die Felder auf dem Bildschirm aus.Fill in the fields on the screen.

    Name: Geben Sie einen Namen für Ihre Routingabfrage ein.Name: Enter a name for your routing query. In diesem Tutorial wird ContosoStorageRoute verwendet.This tutorial uses ContosoStorageRoute.

    Endpunkt: Zeigt den Endpunkt an, den Sie gerade eingerichtet haben.Endpoint: This shows the endpoint you just set up.

    Datenquelle: Wählen Sie in der Dropdownliste Gerätetelemetriemeldungen aus.Data source: Select Device Telemetry Messages from the dropdown list.

    Route aktivieren: Achten Sie darauf, dass dieses Feld auf enabled festgelegt ist.Enable route: Be sure this field is set to enabled.

    Routingabfrage: Geben Sie level="storage" als Abfragezeichenfolge ein.Routing query: Enter level="storage" as the query string.

    Erstellen einer Routingabfrage für das Speicherkonto

    Wählen Sie Speichern aus.Select Save. Wenn der Speichervorgang abgeschlossen ist, werden Sie wieder zum Bereich „Nachrichtenrouting“ geleitet, in dem Sie Ihre neue Routingabfrage für die Speicherung anzeigen können.When it finishes, it returns to the Message Routing pane, where you can see your new routing query for storage. Schließen Sie den Bereich „Routen“. Daraufhin werden Sie wieder zur Seite der Ressourcengruppe geleitet.Close the Routes pane, which returns you to the Resource group page.

Weiterleiten an eine Service Bus-WarteschlangeRoute to a Service Bus queue

Richten Sie jetzt die Weiterleitung für die Service Bus-Warteschlange ein.Now set up the routing for the Service Bus queue. Wechseln Sie zum Bereich „Nachrichtenrouting“, und fügen Sie eine Route hinzu.You go to the Message Routing pane, then add a route. Definieren Sie beim Hinzufügen der Route einen neuen Endpunkt für die Route.When adding the route, define a new endpoint for the route. Nach der Einrichtung dieser Route werden Nachrichten, bei denen die level-Eigenschaft auf critical festgelegt ist, in die Service Bus-Warteschlange geschrieben. Hierdurch wird eine Logik-App ausgelöst, die dann eine E-Mail mit den Informationen sendet.After this route is set up, messages where the level property is set to critical are written to the Service Bus queue, which triggers a Logic App, which then sends an e-mail with the information.

  1. Wählen Sie auf der Seite der Ressourcengruppe Ihre IoT Hub-Instanz und dann die Option Nachrichtenrouting aus.On the Resource group page, select your IoT hub, then select Message Routing.

  2. Wählen Sie im Bereich Nachrichtenrouting die Option + Hinzufügen.In the Message Routing pane, select +Add.

  3. Wählen Sie im Bereich Route hinzufügen neben dem Feld „Endpunkt“ die Option + Hinzufügen.On the Add a Route pane, Select +Add next to the Endpoint field. Wählen Sie Service Bus-Warteschlange aus.Select Service Bus Queue. Der Bereich Service Bus-Endpunkt hinzufügen wird angezeigt.You see the Add Service Bus Endpoint pane.

    Hinzufügen eines Service Bus-Endpunkts

  4. Füllen Sie die Felder aus:Fill in the fields:

    Endpunktname: Geben Sie einen Namen für den Endpunkt ein.Endpoint Name: Enter a name for the endpoint. In diesem Tutorial wird ContosoSBQueueEndpoint verwendet.This tutorial uses ContosoSBQueueEndpoint.

    Service Bus-Namespace: Verwenden Sie die Dropdownliste, um den Service Bus-Namespace auszuwählen, den Sie in den Vorbereitungsschritten eingerichtet haben.Service Bus Namespace: Use the dropdown list to select the service bus namespace you set up in the preparation steps. In diesem Tutorial wird ContosoSBNamespace verwendet.This tutorial uses ContosoSBNamespace.

    Service Bus-Warteschlange: Verwenden Sie die Dropdownliste, um die Service Bus-Warteschlange auszuwählen.Service Bus queue: Use the dropdown list to select the Service Bus queue. In diesem Tutorial wird contososbqueue verwendet.This tutorial uses contososbqueue.

  5. Wählen Sie Erstellen, um den Endpunkt für die Service Bus-Warteschlange hinzuzufügen.Select Create to add the Service Bus queue endpoint. Sie wechseln zurück zum Bereich Route hinzufügen.You return to the Add a route pane.

  6. Geben Sie nun die restlichen Routingabfrageinformationen an.Now you complete the rest of the routing query information. Diese Abfrage gibt die Kriterien für das Senden von Nachrichten an die Service Bus-Warteschlange, die Sie gerade als Endpunkt hinzugefügt haben, an.This query specifies the criteria for sending messages to the Service Bus queue you just added as an endpoint. Füllen Sie die Felder auf dem Bildschirm aus.Fill in the fields on the screen.

    Name: Geben Sie einen Namen für Ihre Routingabfrage ein.Name: Enter a name for your routing query. In diesem Tutorial wird ContosoSBQueueRoute verwendet.This tutorial uses ContosoSBQueueRoute.

    Endpunkt: Zeigt den Endpunkt an, den Sie gerade eingerichtet haben.Endpoint: This shows the endpoint you just set up.

    Datenquelle: Wählen Sie in der Dropdownliste Gerätetelemetriemeldungen aus.Data source: Select Device Telemetry Messages from the dropdown list.

    Routingabfrage: Geben Sie level="critical" als Abfragezeichenfolge ein.Routing query: Enter level="critical" as the query string.

    Erstellen einer Routingabfrage für die Service Bus-Warteschlange

  7. Wählen Sie Speichern aus.Select Save. Wenn Sie zum Bereich „Routen“ zurückkehren, sehen Sie Ihre beiden neuen Routen, wie hier gezeigt.When it returns to the Routes pane, you see both of your new routes, as displayed here.

    Routen, die Sie gerade eingerichtet haben

  8. Sie können die von Ihnen eingerichteten benutzerdefinierten Endpunkte anzeigen, indem Sie die Registerkarte Benutzerdefinierte Endpunkte auswählen.You can see the custom endpoints you set up by selecting the Custom Endpoints tab.

    Benutzerdefinierter Endpunkt, den Sie gerade eingerichtet haben

  9. Schließen Sie den Bereich „Nachrichtenrouting“. Daraufhin werden Sie wieder zum Bereich der Ressourcengruppe geleitet.Close the Message Routing pane, which returns you to the Resource group pane.

Erstellen Sie ein simuliertes Gerät.Create a simulated device

Als Nächstes erstellen Sie eine Geräteidentität und speichern den zugehörigen Schlüssel für die spätere Verwendung.Next, create a device identity and save its key for later use. Diese Geräteidentität wird von der Simulationsanwendung verwendet, um Nachrichten an die IoT Hub-Instanz zu senden.This device identity is used by the simulation application to send messages to the IoT hub. Diese Funktion ist in PowerShell oder bei Verwendung einer Azure Resource Manager-Vorlage nicht verfügbar.This capability is not available in PowerShell or when using an Azure Resource Manager template. Die folgenden Schritte zeigen, wie Sie das simulierte Gerät über das Azure-Portal erstellen.The following steps tell you how to create the simulated device using the Azure portal.

  1. Öffnen Sie das Azure-Portal, und melden Sie sich bei Ihrem Azure-Konto an.Open the Azure portal and log into your Azure account.

  2. Wählen Sie Ressourcengruppen und anschließend Ihre Ressourcengruppe aus.Select Resource groups and then choose your resource group. In diesem Tutorial wird ContosoResources verwendet.This tutorial uses ContosoResources.

  3. Wählen Sie in der Ressourcenliste Ihre IoT Hub-Instanz aus.In the list of resources, select your IoT hub. In diesem Tutorial wird ContosoTestHub verwendet.This tutorial uses ContosoTestHub. Wählen Sie im Bereich „Hub“ die Option IoT-Geräte aus.Select IoT Devices from the Hub pane.

  4. Wählen Sie + Hinzufügen.Select + Add. Geben Sie im Bereich „Gerät hinzufügen“ die Geräte-ID an.On the Add Device pane, fill in the device ID. In diesem Tutorial wird Contoso-Test-Device verwendet.This tutorial uses Contoso-Test-Device. Lassen Sie die Felder für die Schlüssel leer, und aktivieren Sie das Kontrollkästchen Schlüssel automatisch generieren.Leave the keys empty, and check Auto Generate Keys. Stellen Sie sicher, dass die Option Gerät mit IoT Hub verbinden aktiviert ist.Make sure Connect device to IoT hub is enabled. Wählen Sie Speichern aus.Select Save.

    Bildschirm „Gerät hinzufügen“

  5. Nachdem das Gerät erstellt wurde, wählen Sie es aus, um die generierten Schlüssel anzuzeigen.Now that it's been created, select the device to see the generated keys. Wählen Sie für den primären Schlüssel das Kopiersymbol aus, und speichern Sie den Schlüssel für die Testphase dieses Tutorials beispielsweise im Editor.Select the Copy icon on the Primary key and save it somewhere such as Notepad for the testing phase of this tutorial.

    Gerätedetails einschließlich Schlüssel

Nächste SchritteNext steps

Nachdem Sie die Ressourcen eingerichtet und die Nachrichtenrouten konfiguriert haben, können Sie sich nun im nächsten Tutorial darüber informieren, wie Sie Nachrichten an IoT Hub senden, die dann an die verschiedenen Ziele weitergeleitet werden.Now that you have the resources set up and the message routes configured, advance to the next tutorial to learn how to send messages to the IoT hub and see them be routed to the different destinations.