Freigeben über


Materialisieren von Daten in Azure Cosmos DB mithilfe des No-Code-Editors in Stream Analytics

In diesem Artikel wird beschrieben, wie Sie den No-Code-Editor verwenden können, um einfach einen Stream Analytics-Auftrag zu erstellen. Der Auftrag ließt kontinuierlich aus Ihrer Event Hubs-Instanz und führt Aggregation wie „count“ (Anzahl), „sum“ (Summe) und „average“ (Mittelwert) durch. Sie wählen Felder aus, nach denen in einem Zeitfenster gruppiert werden soll. Daraufhin schreibt der Auftrag die Ergebnisse kontinuierlich in Azure Cosmos DB.

Voraussetzungen

  • Ihre Azure Event Hubs- und Azure Cosmos DB-Ressourcen müssen öffentlich zugänglich sein und dürfen sich nicht hinter einer Firewall oder in einem virtuellen Azure-Netzwerk befinden.
  • Die Daten in Ihrer Event Hubs-Instanz müssen entweder im JSON-, CSV- oder Avro-Format serialisiert werden.

Entwickeln eines Stream Analytics-Auftrags

Führen Sie die folgenden Schritte durch, um einen Stream Analytics-Auftrag zum Materialisieren von Daten in Azure Cosmos DB zu entwickeln.

  1. Suchen Sie im Azure-Portal nach der Azure Event Hubs-Instanz, und wählen Sie sie aus.
  2. Wählen Sie unter Features die Option Daten verarbeiten aus. Wählen Sie auf der Karte Materialize Data in Cosmos DB (Daten in Azure Cosmos DB materialisieren) anschließend die Option Starten aus.
    Screenshot: Starten der Materialisierung des Datenflusses
  3. Geben Sie einen Namen für den Auftrag ein, und wählen Sie dann Erstellen aus.
  4. Geben Sie im Event Hub den Serialisierungstyp Ihrer Daten sowie die Authentifizierungsmethode an, die der Auftrag zum Herstellen einer Verbindung mit den Event Hubs-Instanzen verwendet. Wählen Sie dann Verbinden aus.
  5. Wenn die Verbindung erfolgreich eingerichtet wurde und Datenströme bei Ihrer Event Hubs-Instanz eingehen, werden sofort zwei Dinge angezeigt:
    • Felder, die in Ihren Eingabenutzdaten vorhanden sind Wählen Sie das Symbol mit den drei Punkten neben einem Feld aus, um den Datentyp des Felds optional zu entfernen, umzubenennen oder zu ändern.
      Screenshot: Event Hub-Felder der Eingabe zur Überprüfung
    • Hierbei handelt es sich um ein Beispiel für Ihre Eingabedaten im unteren Bereich unter Datenvorschau, der in regelmäßigen Abständen automatisch aktualisiert wird. Sie können Pause streaming preview (Streamingvorschau anhalten) auswählen, wenn Sie lieber eine statische Ansicht Ihrer Beispieleingabedaten verwenden möchten.
      Screenshot: Beispieleingabedaten
  6. Im nächsten Schritt geben Sie das Feld und das Aggregat an, das Sie berechnen möchten, z. B. „average“ (Mittelwert) und „count“ (Anzahl). Sie können auch das Feld angeben, nach dem Sie sortieren möchten, ebenso wie das Zeitfenster. Anschließend können Sie die Ergebnisse des Schritts im Abschnitt Datenvorschau anzeigen.
    Screenshot: Bereich „Gruppieren nach“
  7. Wählen Sie die Cosmos DB-Datenbank und den Container aus, in den die Ergebnisse geschrieben werden sollen.
  8. Starten Sie den Stream Analytics-Auftrag, indem Sie Starten auswählen.
    Screenshot: Ihre Definition mit Auswahl von „Starten“
    Sie müssen Folgendes angeben, um den Auftrag zu starten:
    • Die Anzahl der Streamingeinheiten (SU), mit denen der Auftrag ausgeführt wird. Streamingeinheiten stellen die Menge an Computeressourcen und den Arbeitsspeicher dar, die dem Auftrag zugeordnet sind. Es wird empfohlen, mit drei zu beginnen und die Anzahl dann nach Bedarf anzupassen.
    • Die Fehlerbehandlung für Ausgabedaten ermöglicht es Ihnen, das gewünschte Verhalten anzugeben, wenn die Ausgabe eines Auftrags an Ihr Ziel aufgrund von Datenfehlern fehlschlägt. Der Auftrag wird standardmäßig erneut ausgeführt, bis der Schreibvorgang erfolgreich ist. Sie können auch festlegen, dass Ausgabeereignisse gelöscht werden.
  9. Nach der Auswahl von Starten wird die Auftragsausführung innerhalb von zwei Minuten gestartet. Zeigen Sie den Auftrag im Abschnitt Daten verarbeiten auf der Registerkarte „Stream Analytics-Aufträge“ an. Sie können die Auftragsmetriken überprüfen und den Auftrag bei Bedarf anhalten und neu starten.

Überlegungen bei der Verwendung des Georeplikationsfeatures von Event Hubs

Für Azure Event Hubs wurde kürzlich das Feature Georeplikation in der Public Preview eingeführt. Dieses Feature unterscheidet sich vom Feature Georedundante Notfallwiederherstellung von Azure Event Hubs.

Wenn der Failovertyp Erzwungen und die Replikationskonsistenz Asynchron ist, garantiert der Stream Analytics-Auftrag nicht, dass genau eine Ausgabe in Azure Event Hubs erfolgt.

Als Producer mit einem Event Hub als Ausgabe kann in Azure Stream Analytics eine Wasserzeichenverzögerung für den Auftrag während eines Failovers und während der Drosselung durch Event Hubs auftreten, falls die Replikationsverzögerung zwischen dem primären und dem sekundären Replikat die maximale konfigurierte Verzögerung erreicht.

Als Consumer mit Event Hubs als Eingabe kann in Azure Stream Analytics während eines Failovers eine Wasserzeichenverzögerung auftreten, und es können nach dem Abschluss des Failovers Daten übersprungen werden oder doppelte Daten auftreten.

Aufgrund dieser Nachteile empfehlen wir, den Stream Analytics-Auftrag mit entsprechender Startzeit direkt nach Abschluss des Event Hubs-Failovers neu zu starten. Da sich das Georeplikationsfeature von Event Hubs zudem in der Public Preview befindet, wird derzeit nicht empfohlen, dieses Muster für Stream Analytics-Aufträge in der Produktion zu verwenden. Das aktuelle Stream Analytics-Verhalten wird verbessert, bevor das Event Hubs-Georeplikationsfeature allgemein verfügbar ist und in Stream Analytics-Produktionsaufträgen verwendet werden kann.

Nächste Schritte

Nun wissen Sie, wie Sie den No-Code-Editor in Stream Analytics verwenden können, um einen Auftrag zu entwickeln, der von Event Hubs liest und Aggregate wie Anzahlen, Mittelwerte und Schreibvorgänge in Ihre Azure Cosmos DB-Ressource schreibt.