Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Schnellstart verwenden Sie die Azure-Befehlszeilenschnittstelle, um ein benutzerdefiniertes Event Grid-Thema und ein Event Hubs-Abonnement für dieses Thema zu erstellen. Anschließend senden Sie Beispielereignisse an das benutzerdefinierte Thema und überprüfen, ob diese Ereignisse an einen Event Hub übermittelt werden.
Azure Event Grid ist ein hochgradig skalierbarer, serverloser Ereignisbroker, mit dem Sie Anwendungen mithilfe von Ereignissen integrieren können. Event Grid liefert Ereignisse an unterstützte Ereignishandler, z. B. Azure Event Hubs. Ereignishandler.
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Erstellen einer Ressourcengruppe
Ereignisrasterthemen sind Azure-Ressourcen. Erstellen Sie sie in einer Azure-Ressourcengruppe. Die Ressourcengruppe ist eine logische Sammlung, in der Azure-Ressourcen bereitgestellt und verwaltet werden.
Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen gridResourceGroup
am Standort westus2
erstellt.
Wählen Sie Cloud Shell öffnen aus, um Azure Cloud Shell auf der rechten Seite zu öffnen. Wählen Sie die Schaltfläche " Kopieren " aus, um den Befehl zu kopieren, in Cloud Shell einzufügen, und wählen Sie dann die EINGABETASTE aus, um den Befehl auszuführen.
az group create --name gridResourceGroup --location westus2
Aktivieren des Event Grid-Ressourcenanbieters
Wenn Sie "Event Grid" zum ersten Mal in Ihrem Azure-Abonnement verwenden, müssen Sie möglicherweise den Event Grid-Ressourcenanbieter registrieren. Führen Sie den folgenden Befehl aus, um den Anbieter zu registrieren:
az provider register --namespace Microsoft.EventGrid
Es kann einen Moment dauern, bis die Registrierung abgeschlossen ist. Führen Sie den folgenden Befehl aus, um den Status zu überprüfen:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Wenn
registrationState
den WertRegistered
hat, können Sie den Vorgang fortsetzen.
Erstellen eines benutzerdefinierten Themas
Ein Event Grid-Thema stellt einen benutzerdefinierten Endpunkt bereit, an dem Sie Ihre Ereignisse posten. Im folgenden Beispiel wird das benutzerdefinierte Thema in Ihrer Ressourcengruppe erstellt.
Ersetzen Sie <TOPIC NAME>
durch einen eindeutigen Namen für Ihr benutzerdefiniertes Thema. Der Name des Event Grid-Themas muss eindeutig sein, da er durch einen DNS-Eintrag (Domain Name System) dargestellt wird.
Geben Sie einen Namen für das Thema an:
topicname="<TOPIC NAME>"
Führen Sie den folgenden Befehl aus, um das Thema zu erstellen:
az eventgrid topic create --name $topicname --location westus2 --resource-group gridResourceGroup
Erstellen eines Event Hubs
Bevor Sie das benutzerdefinierte Thema abonnieren, erstellen Sie den Endpunkt für die Ereignisnachricht. Sie erstellen einen Event Hub zum Sammeln der Ereignisse.
Geben Sie einen eindeutigen Namen für den Event Hubs-Namespace an:
namespace="<EVENT HUBS NAMESPACE NAME>"
Führen Sie die folgenden Befehle aus, um einen Event Hubs-Namespace und in diesem Namespace einen Event Hub namens
demohub
zu erstellen:hubname=demohub az eventhubs namespace create --name $namespace --resource-group gridResourceGroup az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
Abonnieren eines benutzerdefinierten Themas
Sie abonnieren ein Event Grid-Thema, um dem Event Grid mitzuteilen, welche Ereignisse Sie nachverfolgen möchten. Im folgenden Beispiel wird das benutzerdefinierte Thema abonniert, das Sie erstellt haben. Sie übergibt die Ressourcen-ID des Event Hubs für den Endpunkt. Der Endpunkt weist folgendes Format auf:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>
Das folgende Skript ruft die Ressourcen-ID für den Event Hub ab und abonniert ein Event Grid-Thema. Es legt den Endpunkttyp auf eventhub
fest und verwendet die Event Hub-ID für den Endpunkt.
hubid=$(az eventhubs eventhub show --name $hubname --namespace-name $namespace --resource-group gridResourceGroup --query id --output tsv)
topicid=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name subtoeventhub \
--endpoint-type eventhub \
--endpoint $hubid
Das Konto, das das Ereignisabonnement erstellt, muss über Schreibzugriff auf den Event Hub verfügen.
Senden eines Ereignisses an Ihr benutzerdefiniertes Thema
Lösen Sie ein Ereignis aus, um zu sehen, wie Event Grid die Nachricht an Ihren Endpunkt weiterleitet. Rufen Sie zunächst die URL und den Schlüssel für das benutzerdefinierte Thema ab:
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Aus Gründen der Einfachheit verwendet dieser Artikel Beispielereignisdaten, um an das benutzerdefinierte Thema zu senden. Üblicherweise werden die Ereignisdaten von einer Anwendung oder einem Azure-Dienst gesendet.
Das cURL-Tool sendet HTTP-Anforderungen. In diesem Artikel verwenden Sie cURL, um das Ereignis an das benutzerdefinierte Thema zu senden. Das folgende Beispiel sendet drei Ereignisse an das Event Grid-Thema:
for i in 1 2 3
do
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
Im Azure-Portal zeigt die Seite "Übersicht" für Ihren Event Hubs-Namespace an, dass Das Ereignisraster diese drei Ereignisse an den Event Hub gesendet hat. Das gleiche Diagramm wird auf der Seite Übersicht für die Event Hubs-Instanz demohub
angezeigt.
In der Regel erstellen Sie eine Anwendung, die die Ereignisnachrichten vom Event Hub abruft. Weitere Informationen finden Sie unter:
- Senden von Ereignissen an und Empfangen von Ereignissen von Azure Event Hubs mithilfe von .NET
- Empfangen von Ereignissen von Azure Event Hubs mithilfe von Java
- Empfangen von Ereignissen von Event Hubs mithilfe von Apache Storm
Bereinigen von Ressourcen
Wenn Sie beabsichtigen, mit diesem benutzerdefinierten Thema und Abonnement fortzufahren, entfernen Sie nicht die Ressourcen, die Sie in diesem Artikel erstellt haben. Führen Sie andernfalls den folgenden Befehl aus, um die Ressourcen zu löschen:
az group delete --name gridResourceGroup
Verwandte Inhalte
Sie haben gelernt, wie Sie Themen und Ereignisabonnements erstellen. Nun können Sie sich ausführlicher darüber informieren, welche Möglichkeiten Event Grid bietet:
- Grundlegendes zu Event Grid
- Weiterleiten von Azure Blob Storage-Ereignissen an einen benutzerdefinierten Webendpunkt
- Überwachen von Änderungen an VMs mit Azure Event Grid und Logic Apps
- Migrieren der von Event Hubs erfassten Daten von Azure Storage zu Azure Synapse Analytics
In den folgenden Beispielen erfahren Sie, wie Sie Ereignisse in Event Grid mithilfe verschiedener Programmiersprachen veröffentlichen und nutzen: