Freigeben über


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 an, wie lange in Tagen IoT Hub Nachrichten aufbewahrt. 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önnten 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. Nach der Aufbewahrungszeit laufen Nachrichten ab, und es kann auf sie nicht mehr zugegriffen werden. Sie können die Aufbewahrungszeit entweder programmgesteuert mithilfe der IoT Hub-Ressourcenanbieter-REST-APIsoder mit dem 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 IoT Hub nicht kennen, benötigen Sie einen Event Hubs-kompatiblen Endpunkt und einen Event Hubs-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.

    Screenshot: Gerät-zu-Cloud-Einstellungen.

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

Im Folgenden finden Sie die SDKs, die Sie zum Herstellen einer Verbindung mit dem integrierten Event Hubs-kompatiblen Endpunkt verwenden können, der IoT Hub verfügbar macht:

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

Herstellen einer Verbindung mit anderen Diensten und Produkten

Dies sind die Produktintegrationen, die Sie mit dem integrierten Event Hubs-kompatiblen Endpunkt verwenden können, der IoT Hub verfügbar macht:

Nächste Schritte