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 Quickstart verwenden Sie die Azure CLI, um ein benutzerdefiniertes Thema in Azure Event Grid zu erstellen, abonnieren das benutzerdefinierte Thema und lösen ein Beispielereignis aus, um das Ergebnis anzuzeigen.
Üblicherweise senden Sie Ereignisse an einen Endpunkt, der die Ereignisdaten verarbeitet und entsprechende Aktionen ausführt. Um diesen Quickstart zu vereinfachen, sendet man Beispielereignisse an eine Web-App, die die Nachrichten sammelt und anzeigt. Wenn Sie fertig sind, sehen Sie die Ereignisdaten in der Web-App, wie im folgenden Bild gezeigt:
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Voraussetzungen
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter "Erste Schritte mit Azure Cloud Shell".
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
- Dieser Quickstart benötigt Version 2.0.70 oder höher der Azure CLI. Wenn Sie Azure Cloud Shell verwenden, ist die neueste Version bereits installiert.
- Wenn Sie noch nicht mit Azure Event Grid vertraut sind, lesen Sie vor Beginn dieser Schnellstartanleitung Was ist Azure Event Grid?, um einen Überblick über den Dienst zu erhalten.
Erstellen einer Ressourcengruppe
Event Grid-Themen sind Azure-Ressourcen, die Sie in einer Azure-Ressourcengruppe platzieren müssen. Die Ressourcengruppe ist eine logische Sammlung, in die Sie Azure-Ressourcen einsetzen und verwalten.
Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe. Das folgende Beispiel erstellt eine Ressourcengruppe namens gridResourceGroup am Standort westus2. Ändere den Namen der Ressourcengruppe und den Standort, wenn du möchtest.
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.EventGridEs 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
registrationStateRegisteredist, können Sie fortfahren.
Erstellen eines benutzerdefinierten Themas
Ein Event Grid-Thema stellt einen benutzerdefinierten Endpunkt bereit, an dem Sie Ihre Ereignisse posten. Das folgende Beispiel erstellt das benutzerdefinierte Thema in Ihrer Ressourcengruppe mithilfe von Bash in Azure Cloud Shell. Ersetzen Sie <your-topic-name> durch einen eindeutigen Namen für Ihr Thema. Der Name des benutzerdefinierten Themas muss eindeutig sein, da er Teil des Domain Name System (DNS)-Eintrags ist. Außerdem muss es zwischen 3 und 50 Zeichen sein und nur die Werte a-z, A-Z, 0-9 und "-" enthalten.
Kopieren Sie den folgenden Befehl, geben Sie einen Namen für das Thema an und wählen Sie Enter, um den Befehl auszuführen.
topicname=<your-topic-name>Verwenden Sie den Befehl
az eventgrid topic create, um ein benutzerdefiniertes Thema zu erstellen.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Erstellen eines Nachrichtenendpunkts
Bevor Sie das benutzerdefinierte Thema abonnieren, erstellen Sie den Endpunkt für die Ereignisnachricht. Der Endpunkt führt in der Regel Aktionen auf der Grundlage der Ereignisdaten aus. Um diesen Quickstart zu vereinfachen, sollten Sie eine vorgefertigte Webanwendung bereitstellen, die die Ereignisnachrichten anzeigt. Die bereitgestellte Lösung umfasst einen App Service-Plan, eine App Service-Web-App und Quellcode von GitHub.
Kopiere den folgenden Befehl, gib einen Namen für die Webanwendung an (Event Grid Viewer Beispiel) und wähle Enter aus, um den Befehl auszuführen. Ersetzen Sie
<your-site-name>durch einen eindeutigen Namen für Ihre Web-App. Der Name der Web-App muss eindeutig sein, da er Teil des DNS-Eintrags ist.sitename=<your-site-name>Führen Sie
az deployment group createaus, um die Web-App mithilfe einer Azure Resource Manager-Vorlage bereitzustellen.az deployment group create \ --resource-group gridResourceGroup \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \ --parameters siteName=$sitename hostingPlanName=viewerhost
Die Bereitstellung kann einige Minuten dauern. Nach erfolgreichem Abschluss der Bereitstellung können Sie Ihre Web-App anzeigen und sich vergewissern, dass sie ausgeführt wird. Navigieren Sie hierzu in einem Webbrowser zu https://<your-site-name>.azurewebsites.net.
Du solltest die Seite ohne angezeigte Nachrichten sehen.
Abonnieren eines benutzerdefinierten Themas
Sie abonnieren ein Event Grid-Thema, um Event Grid mitzuteilen, welche Ereignisse Sie nachverfolgen möchten und wohin diese gesendet werden sollen. Im folgenden Beispiel wird das von Ihnen erstellte benutzerdefinierte Thema abonniert. Außerdem wird die URL Ihrer Web-App als Endpunkt für Ereignisbenachrichtigungen übergeben.
Der Endpunkt für Ihre Web-App muss das Suffix /api/updates/ enthalten.
Kopiere den folgenden Befehl, ersetze
$sitenamesie durch den Namen der Web-App, die du im vorherigen Schritt erstellt hast, und wähle Enter aus, um den Befehl auszuführen.endpoint=https://$sitename.azurewebsites.net/api/updatesFühren Sie den folgenden Befehl aus, um die Ressourcen-ID des von Ihnen erstellten Themas abzurufen.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Führen Sie den folgenden Befehl aus, um ein Abonnement für das benutzerdefinierte Thema mithilfe des Endpunkts zu erstellen.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointRufen Sie Ihre Web-App erneut auf, und beachten Sie, dass ein Ereignis zur Abonnementvalidierung an diese gesendet wurde. Klicken Sie auf das Augensymbol, um die Ereignisdaten zu erweitern. Event Grid sendet das Überprüfungsereignis, damit der Endpunkt bestätigen kann, dass er Ereignisdaten empfangen möchte. Die Web-App enthält Code zur Überprüfung des Abonnements.
Senden eines Ereignisses an Ihr benutzerdefiniertes Thema
Nun wird ein Ereignis ausgelöst, um zu sehen, wie Event Grid die Nachricht an Ihren Endpunkt weiterleitet. Holen Sie sich zuerst die URL und den Schlüssel für das benutzerdefinierte Thema.
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)
Um diesen Quickstart zu vereinfachen, verwenden Sie Beispiel-Ereignisdaten, um sie an das benutzerdefinierte Thema zu senden. In der Regel sendet eine Anwendung oder ein Azure-Dienst die Ereignisdaten. Im folgenden Beispiel werden Beispielereignisdaten erstellt:
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"} ]'
Bei dem data-Element des JSON-Codes handelt es sich um die Nutzlast Ihres Ereignisses. Für dieses Feld kann ein beliebiger wohlgeformter JSON-Code verwendet werden. Sie können auch das Betrefffeld zur erweiterten Weiterleitung und Filterung verwenden.
cURL ist ein Dienstprogramm, das HTTP-Anfragen sendet. In diesem Quickstart verwenden Sie cURL, um das Ereignis an das Thema zu senden.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Sie haben das Ereignis ausgelöst, und Event Grid hat die Nachricht an den Endpunkt gesendet, den Sie beim Abonnieren konfiguriert haben. Zeigen Sie Ihre Web-App an, um das soeben gesendete Ereignis anzuzeigen.
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventGrid/topics/{topic}"
}]
Bereinigen von Ressourcen
Wenn Sie vorhaben, weiterhin mit diesem Ereignis oder der Ereignisanzeige-App zu arbeiten, löschen Sie die Ressourcen nicht, die Sie in dieser Schnellstartanleitung erstellt haben. Andernfalls verwenden Sie den folgenden Befehl, um die in diesem Quickstart erstellten Ressourcen zu löschen.
az group delete --name gridResourceGroup --yes --no-wait
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:
- Einführung in Azure Event Grid
- Weiterleiten von Blob Storage-Ereignissen an einen benutzerdefinierten Webendpunkt
- Streamen von Big Data in ein Data Warehouse
Um mehr über das Veröffentlichen und Konsumieren von Events aus Event Grid in verschiedenen Programmiersprachen zu erfahren, siehe die folgenden Beispiele: