Lesen von Nachrichten, die von Geräten an die Cloud gesendet werden, vom integrierten Endpunkt

Standardmäßig werden Nachrichten an den integrierten dienstseitigen Endpunkt (messages/events) gesendet, der mit Event Hubs kompatibel ist. IoT Hub stellt den integrierten Endpunkt messages/events für Ihre Back-End-Dienste bereit, damit die D2C-Nachrichten gelesen werden können, die von Ihrem Hub empfangen werden. Da dieser Endpunkt Event Hubs-kompatibel ist, könne Sie zum Lesen von Nachrichten alle Mechanismen verwenden, die der Event Hubs-Dienst unterstützt.

Bei Verwendung von Nachrichtenweiterleitung und aktivierter Fallbackroute gelangen alle Nachrichten, die keiner Abfrage in einer Route entsprechen, in den integrierten Endpunkt. Wenn Sie diese Fallbackroute deaktivieren, werden Nachrichten verworfen, für die sich keine Übereinstimmungen mit Abfragen ergeben.

Dieser Endpunkt wird derzeit nur über das AMQP-Protokoll an Port 5671 und über AMQP über WebSockets an Port 443 verfügbar gemacht. Ein IoT Hub macht die folgenden Eigenschaften verfügbar, damit Sie den integrierten Event Hub-kompatiblen Messagingendpunkt für messages/events steuern können.

Eigenschaft BESCHREIBUNG
Anzahl von Partitionen Legen Sie diese Eigenschaft bei der Erstellung fest, um die Anzahl von Partitionen für die D2C-Ereigniserfassung zu definieren.
Aufbewahrungsdauer Diese Eigenschaft gibt den Zeitraum in Tagen an, für den Nachrichten von IoT Hub aufbewahrt werden. Als Standardwert ist ein Tag festgelegt, dieser Wert kann jedoch auf sieben Tage erhöht werden.

IoT Hub erlaubt eine Datenaufbewahrung im integrierten Endpunkt für maximal sieben Tage. Sie können die Aufbewahrungsdauer bei der Erstellung Ihres IoT Hubs festlegen. Die Datenaufbewahrungsdauer im IoT-Hub hängt von Ihrer IoT Hub-Ebene und dem Typ der Einheit ab. In Bezug auf die Größe können die integrierten Endpunkte Nachrichten mit der maximalen Nachrichtengröße bis zu einem Kontingent von mindestens 24 Stunden speichern. Beispielsweise bietet ein IoT-Hub der S1-Einheit genügend Speicher, um mindestens 400.000 Nachrichten von je 4 KB zu speichern. Wenn Ihre Geräte Nachrichten mit geringerer Größe senden, können diese je nach verbrauchtem Speicherplatz länger (bis zu sieben Tage) aufbewahrt werden. Wir garantieren, dass die Daten mindestens für die angegebene Aufbewahrungsdauer aufbewahrt werden. Nachdem die Aufbewahrungszeit verstrichen ist, laufen Nachrichten ab, und darauf kann nicht mehr zugegriffen werden. Sie können die Aufbewahrungsdauer sowohl programmgesteuert über die IoT Hub-Ressourcenanbieter-REST-APIs als auch über das Azure-Portal ändern.

IoT Hub ermöglicht ihnen auch die Verwaltung von Consumergruppen auf dem integrierten Endpunkt. Für jeden IoT-Hub können bis zu 20 Consumergruppen vorhanden sein.

Herstellen einer Verbindung mit dem integrierten Endpunkt

Einige Produktintegrationen und Event Hubs SDKs sind über den IoT Hub informiert und ermöglichen es Ihnen, über Ihre IoT Hub-Dienstverbindungszeichenfolge eine Verbindung zum integrierten Endpunkt herzustellen.

Wenn Sie Event Hubs SDKs oder Produktintegrationen verwenden, die nicht IoT Hub-fähig sind, benötigen Sie einen Event Hub-kompatiblen Endpunkt und den Event Hub-kompatiblen Namen: Sie können diese Werte wie folgt aus dem Portal abrufen:

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem IoT Hub.

  2. Wählen Sie im Ressourcenmenü unter Hubeinstellungen die Option Integrierte Endpunkte aus.

  3. Der Arbeitsbereich Integrierte Endpunkte enthält drei Abschnitte:

    • Der Abschnitt Event Hub-Details enthält die folgenden Werte: Partitionen, Event Hub-kompatibler Name, Beibehalten für und Consumergruppen.
    • Der Abschnitt Event Hub-kompatibler Endpunkt enthält die folgenden Werte: SAS-Richtlinie und Event Hub-kompatibler Endpunkt.
    • Der Abschnitt Cloud-zu-Gerät-Messaging enthält die folgenden Werte: Standard-TTL, Aufbewahrungsdauer für Feedback und Maximale Übermittlungsanzahl.

    Screen capture showing device-to-cloud settings.

Im Arbeitsbereich enthält das Feld Event Hub-kompatibler Endpunkt eine komplette Event Hubs-Verbindungszeichenfolge, die wie im folgenden Beispiel aussieht:

Endpoint=sb://abcd1234namespace.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456

Wenn das von Ihnen verwendete SDK andere Werte erfordert, dann wären dies:

Name Wert
Endpunkt sb://abcd1234namespace.servicebus.windows.net/
Hostname abcd1234namespace.servicebus.windows.net
Namespace abcd1234namespace

Sie können dann eine beliebige SAS-Richtlinie aus der Dropdownliste SAS-Richtlinie auswählen, wie im obigen Screenshot gezeigt. Es werden nur Richtlinien mit den erforderlichen ServiceConnect-Berechtigungen für Verbindungen mit dem angegebenen Event Hub angezeigt.

SDK-Beispiele

Zu den SDKs, die Sie für die Verbindung mit dem integrierten Event Hub-kompatiblen Endpunkt verwenden können, den der IoT Hub bereitstellt, gehören:

Sprache SDK Beispiel
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs ReadD2cMessages (.NET)
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs
Node.js https://www.npmjs.com/package/@azure/event-hubs read-d2c-messages (Node.js)
Python https://pypi.org/project/azure-eventhub/ read-dec-messages (Python)

Zu den Produktintegrationen, die Sie mit dem integrierten Event Hub-kompatiblen Endpunkt verwenden können, den der IoT Hub bereitstellt, gehören:

Nächste Schritte