Erstellen eines Event Hubs mit Azure CLI

Abgeschlossen

Ihr Team hat beschlossen, die Funktionen von Azure Event Hubs zu nutzen, um das steigende Transaktionsvolumen in Ihrem System zu verwalten und zu verarbeiten.

Ein Event Hub ist eine Azure-Ressource. Daher ist Ihr erster Schritt das Erstellen eines neuen Hubs in Azure, den Sie den spezifischen Anforderungen Ihrer Apps entsprechend konfigurieren.

Was ist Azure Event Hubs?

Azure Event Hubs ist ein cloudbasierter Dienst zur Ereignisverarbeitung, der pro Sekunde Millionen von Ereignissen empfangen und verarbeiten kann. Event Hubs fungiert als Zugang zu einer Ereignispipeline, in der eingehende Daten empfangen und gespeichert werden, bis Verarbeitungsressourcen verfügbar sind.

Eine Entität, die Daten an Ihren Event Hub sendet, wird als Herausgeber bezeichnet, und eine Entität, die Daten von den Event Hubs liest, wird als Consumer oder Abonnent bezeichnet. Ihr Event Hub befindet sich zwischen dem Herausgeber und dem Abonnent, um die Produktion (vom Herausgeber) und den Verbrauch (an einen Abonnenten) eines Ereignisdatenstroms zu trennen. Diese Entkopplung hilft bei der Bewältigung von Szenarien, in denen die Produktion von Ereignissen wesentlich höher als der Verbrauch ist. Auf der folgenden Abbildung ist die Rolle eines Event Hubs dargestellt.

An illustration showing an Azure event hub placed between four publishers and two subscribers. The event hub receives multiple events from the publishers, serializes the events into data streams, and makes the data streams available to subscribers.

Ereignisse

Ein Ereignis ist ein kleines Paket mit Informationen (ein Datagramm), das eine Benachrichtigung enthält. Ereignisse können einzeln oder in Batches veröffentlicht werden, aber eine einzelne Veröffentlichung (ob einzeln oder als Batch) darf 1 MB nicht überschreiten.

Herausgeber und Abonnenten

Ereignisherausgeber sind alle Apps oder Geräte, die Ereignisse über HTTPS, AMQP 1.0 (Advanced Message Queuing Protocol) oder Apache Kafka senden können.

  • Für Herausgeber, die regelmäßig Daten senden, bietet AMQP eine bessere Leistung. Es weist jedoch einen höheren anfänglichen Sitzungsmehraufwand auf, da zunächst ein persistenter bidirektionaler Socket und eine Transport Layer Security (TLS) oder SSL/TLS eingerichtet werden müssen.
  • Für eine eher sporadische Veröffentlichung ist HTTPS die bessere Option. Obwohl HTTPS für jede Anforderung zusätzlichen Aufwand erfordert, fällt kein Mehraufwand für die Sitzungsinitialisierung an.
  • Event Hubs bietet einen mit den Apache Kafka-Producer- und -Consumer-APIs kompatiblen Endpunkt, der von den meisten vorhandenen Apache Kafka-Clientanwendungen als Alternative zum Ausführen eines eigenen Apache Kafka-Clusters verwendet werden kann. Event Hubs unterstützt Apache Kafka-Producer- und -Consumer-API-Clients mit Version 1.0 oder höher. Weitere Informationen finden Sie unter Event Hubs für Apache Kafka.

Ereignisabonnenten sind Apps, die eine von zwei unterstützten programmgesteuerten Methoden verwenden, um Ereignisse von einem Event Hub zu empfangen und zu verarbeiten.

  • EventHubReceiver: Eine einfache Methode, die eingeschränkte Optionen für die Verwaltung bereitstellt.
  • EventProcessorHost: Eine effiziente Methode, die wir später in diesem Modul verwenden werden.

Consumergruppen

Eine Event Hub-Consumergruppe stellt eine spezifische Ansicht eines Event Hub-Datenstroms dar. Wenn Sie separate Consumergruppen verwenden, können mehrere Abonnenten-Apps einen Ereignisdatenstrom unabhängig voneinander und ohne Auswirkungen auf andere Apps verarbeiten. Allerdings ist die Verwendung mehrerer Consumergruppen keine Voraussetzung, und für viele Apps ist die Standardconsumergruppe ausreichend.

Preise

Für Azure Event Hubs gibt es vier Tarife: Basic, Standard, Premium und Dedicated. Die Tarife unterscheiden sich hinsichtlich der unterstützten Verbindungen, der Anzahl verfügbarer Consumergruppen und des Durchsatzes. Wenn Sie mit der Azure CLI einen Event Hubs-Namespace erstellen und keinen Tarif angeben, wird der Standardtarif (20 Consumergruppen, 1000 vermittelte Verbindungen) verwendet. Die wichtigsten Unterschiede zwischen diesen Tarifen finden Sie unter Azure Event Hubs – Preise.

Erstellen und Konfigurieren eines Event Hubs

Sie müssen zwei Hauptschritte durchführen, um einen neuen Event Hub zu erstellen. Der erste Schritt ist das Definieren eines Namespaces für Event Hubs. Der zweite Schritt ist das Erstellen eines Event Hubs in diesem Namespace.

Definieren eines Event Hubs-Namespace

Ein Event Hubs-Namespace ist ein Container zum Verwalten eines oder mehrerer Event Hubs. Das Erstellen eines Event Hubs-Namespaces umfasst in der Regel folgende Konfiguration:

Definieren von Einstellungen auf Namespaceebene

Die Namespacekapazität (die über Durchsatzeinheiten konfiguriert wird), der Tarif und die Leistungsmetriken werden auf Namespaceebene definiert. Diese Einstellungen gelten für alle Event Hubs innerhalb dieses Namespace. Wenn Sie diese Einstellungen nicht festlegen, wird ein Standardwert verwendet: 1 für Kapazität und Standard für Tarif.

Beachten Sie Folgendes:

  • Sie müssen Ihre Konfiguration auf Ihr verfügbares Azure-Budget abstimmen.

  • Sie können für unterschiedliche Durchsatzanforderungen verschiedene Event Hubs konfigurieren. Wenn Sie beispielsweise über eine App für Vertriebsdaten verfügen und zwei Event Hubs planen, wäre es sinnvoll, für jeden Hub einen separaten Namespace zu verwenden.

    Sie konfigurieren einen Namespace für die Sammlung von Echtzeitumsatzdaten mit hohem Durchsatz und einen Namespace für die gelegentliche Sammlung von Ereignisprotokollen. Auf diese Weise müssen Sie nur eine hohe Durchsatzkapazität für den Echtzeitumsatzdaten-Hub konfigurieren und bezahlen.

    1. Wählen Sie einen eindeutigen Namen für den Namespace aus. Auf den Namespace kann über diese URL zugegriffen werden: Namespace.servicebus.windows.net.

    2. Definieren Sie die folgenden optionalen Eigenschaften:

      • Richten Sie diesen Namespace zonenredundant ein. Zonenredundanz ermöglicht die Replikation von Daten in separaten Rechenzentren, die über eine unabhängige Stromversorgung, Netzwerk- und Kühlinfrastrukturen verfügen.

      • Aktivieren Sie das automatische Hochskalieren der Durchsatzeinheiten (Standard-Tarif). „Automatische Vergrößerung“ bietet eine Option für das automatische Hochskalieren, bei der die Anzahl der Durchsatzeinheiten bis zu einem Maximalwert erhöht wird. Diese Option ist nützlich, um eine Drosselung zu vermeiden, wenn ein- oder ausgehende Datenraten die aktuell festgelegte Anzahl von Durchsatzeinheiten überschreiten.

Azure CLI-Befehle zum Erstellen eines Event Hubs-Namespace

Verwenden Sie az eventhubs namespace-Befehle, um einen neuen Event Hubs-Namespace zu erstellen. Im Folgenden finden Sie eine kurze Beschreibung der Befehle, die in der Übung verwendet werden.

Befehl BESCHREIBUNG
create Erstellt einen Event Hubs-Namespace.
authorization-rule Alle Event Hubs in demselben Namespace verwenden zur Verbindungsherstellung dieselben Anmeldeinformationen. Sie benötigen diese Anmeldeinformationen, wenn Sie Apps für das Senden und Empfangen von Nachrichten über den Event Hub konfigurieren. Mit diesem Befehl wird die Verbindungszeichenfolge für Ihren Event Hubs-Namespace zurückgegeben.

Konfigurieren eines neuen Event Hubs

Nachdem Sie einen Event Hubs-Namespace erstellt haben, können Sie einen Event Hub erstellen. Wenn Sie ein Event Hub erstellen, müssen Sie mehrere erforderliche Parameter angeben.

Dabei handelt es sich um die folgenden:

  • Event Hub-Name: Der Event Hub-Name, muss innerhalb Ihres Abonnements eindeutig sein und folgende Bedingungen erfüllen:
    • Er muss zwischen 1 und 50 Zeichen umfassen.
    • Er darf nur Buchstaben, Zahlen, Punkte, Bindestriche und Unterstriche enthalten.
    • Er muss mit einem Buchstaben oder einer Zahl beginnen und enden.
  • Partitionsanzahl: Die Anzahl der in einem Event Hub erforderlichen Partitionen (2 bis 32 für den Standard-Tarif). Die Anzahl der Partitionen sollte direkt mit der erwarteten Anzahl gleichzeitiger Benutzer*innen korrelieren. Sie kann nach der Erstellung des Hubs nicht geändert werden. Die Partition trennt den Nachrichtendatenstrom ab, sodass Consumer- oder Empfänger-Apps nur eine bestimmte Teilmenge des Datenstroms lesen müssen. Wenn sie nicht definiert ist, wird der Wert standardmäßig auf 4 festgelegt.
  • Nachrichtenaufbewahrung: Die Anzahl der Tage (1 bis 7 für den Standard-Tarif), die Nachrichten verfügbar bleiben, wenn der Datenstrom aus irgendeinem Grund erneut wiedergegeben werden muss. Falls kein Wert definiert wird, lautet der Standardwert 7.

Sie können optional auch einen Event Hub konfigurieren, um Daten an ein Azure Blob Storage- oder ein Azure Data Lake Store-Konto zu streamen.

Azure CLI-Befehle zum Erstellen eines Event Hubs

Sie erstellen einen neuen Event Hub mit der Azure CLI, indem Sie az eventhubs eventhub-Befehle ausführen. Im Folgenden finden Sie eine kurze Beschreibung der Befehle, die in der Übung verwendet werden.

Befehl Beschreibung
create Erstellt den Event Hub in einem angegebenen Namespace
show Zeigt die Details Ihres Event Hubs an

Hinweis

Informationen zu Kontingenten und Grenzwerten für verschiedene Event Hubs-Tarife finden Sie unter Kontingente und Grenzwerte in Azure Event Hubs.

Zusammenfassung

Zum Bereitstellen von Azure Event Hubs müssen Sie zuerst einen Event Hubs-Namespace und dann den Event Hub selbst konfigurieren. In der nächsten Lerneinheit gehen Sie die einzelnen Schritte zum Erstellen eines neuen Namespace und Event Hubs durch.