Ein Nachrichtenrouting im IoT Hub ermöglicht es, Nachrichten von den Geräten in die Cloud zu senden. Das Ziel kann dabei Azure Storage, Azure Event Hubs oder ein Azure Service Bus sein. Man kann auch beispielsweise Event Grid für diesen Zweck nutzen, aber dazu kommen wir später.

Ein IoT Hub verfügt über einen standardmäßig integrierten Endpunkt (messages/events), der mit Event Hubs kompatibel ist. Mit benutzerdefinierte Endpunkte für die Weiterleitung von Nachrichten kann man die bereits oben erwähnten Dienste mit dem IoT Hub verknüpfen. Jede Nachricht wird an alle Endpunkte weitergeleitet, die mit der Routingabfrage übereinstimmen. Anders ausgedrückt: Eine Nachricht kann an mehrere Endpunkte weitergeleitet werden.

Nachdem wir zuvor ein Azure Speicherkonto mit einem Data Lake Container erstellt haben, müssen wir diesen nun als benutzerdefinierten Endpunkt für unseren IoT Hub einrichten.

Dazu öffnen wir im Azure Portal den IoT Hub iotghub und klicken im Bereich Messaging auf den Punkt Nachrichtenrouting.

Unter Benutzerdefinierte Endpunkte klicken wir auf Hinzufügen > Speicher. Im neuen Dialog Neuen Speicherendpunkt hinzufügen geben wir für den Namen iotgroutedatalake ein. Als Format wähle ich JSON aus. Danach klicken wir auf Container auswählen und dort wird iotgstorage aus der Liste ausgewählt. Im rechten Dialog Container wählen wir dann iotgdatalake aus und klicken auf Auswählen.

Zurück im Dialog Neuen Speicherendpunkt klicken wir auf Erstellen.

Der Benutzerdefinierte Endpunkte wurde erfolgreich erstellt.

Nun müssen wir im letzten Schritt diesen Benutzerdefinierten Endpunkt in einer Route einsetzen. Dazu wechseln wir in die Registerkarte Routen und klicken auf Hinzufügen.

Als Namen nehmen wir iotgdatalakeroute und aus der Enpunkt Liste wählen wir unseren zuvor erstellen Benutzerdefinierten Endpunkt iotgroutedatalake. In die Routingabfrage schreiben wir target = 'storage'. Mit der Routingabfrage kann man Nachrichten explizit auf Basis des Inhalts filtern welche in den Data Lake geschrieben werden solle. Mehr Informationen zu den Möglichkeiten bietet der Artikel Abfragesyntax für das IoT Hub-Nachrichtenrouting in Microsoft Docs. Anschließend klicken wir auf Speichern.

Wenn die Route erfolgreich gespeichert wurde, erscheint sie in der Liste der Routen.