Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart gebruik je de Azure CLI om een aangepast onderwerp aan te maken in Azure Event Grid, abonneer je je op het aangepaste onderwerp en activeer je een voorbeeldevent om het resultaat te bekijken.
Normaal gesproken verzendt u gebeurtenissen naar een eindpunt dat de gebeurtenisgegevens verwerkt en vervolgens in actie komt. Om deze quickstart te vereenvoudigen, stuur je voorbeeldgebeurtenissen naar een webapp die de berichten verzamelt en weergeeft. Als je klaar bent, zie je de gebeurtenisgegevens in de webapp, zoals te zien is in de volgende afbeelding:
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Deze quickstart vereist versie 2.0.70 of later van de Azure CLI. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
- Als je nieuw bent met Azure Event Grid, bekijk dan What's Azure Event Grid voor een overzicht van de dienst voordat je deze quickstart start.
Een brongroep maken
Event Grid-onderwerpen zijn Azure-bronnen die je in een Azure-resourcegroep moet plaatsen. De resourcegroep is een logische verzameling waarin je Azure-resources uitrolt en beheert.
Een resourcegroep maken met de opdracht az group create. In het volgende voorbeeld wordt een resourcegroep met de naam gridResourceGroup gemaakt op de locatie westus2. Verander de naam van de resourcegroep en de locatie als je wilt.
az group create --name gridResourceGroup --location westus2
De Event Grid-resourceprovider inschakelen
Als dit de eerste keer is dat u Event Grid in uw Azure-abonnement gebruikt, moet u mogelijk de Event Grid-resourceprovider registreren. Voer de volgende opdracht uit om de provider te registreren:
az provider register --namespace Microsoft.EventGridHet kan even duren voordat de registratie is voltooid. Voer de volgende opdracht uit om de status te controleren:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Wanneer
registrationStateRegisteredis, bent u klaar om door te gaan.
Een aangepast onderwerp maken
Een Event Grid-onderwerp biedt een door de gebruiker gedefinieerd eindpunt waarnaar u uw gebeurtenissen plaatst. Het volgende voorbeeld maakt het aangepaste onderwerp aan in je resourcegroep door Bash te gebruiken in Azure Cloud Shell. Vervang <your-topic-name> door een unieke naam voor het onderwerp. De naam van het aangepaste onderwerp moet uniek zijn omdat deze deel uitmaakt van de DNS-vermelding (Domain Name System). Ook moet het tussen de 3-50 tekens zijn en alleen waarden a-z, A-Z, 0-9 en "-" bevatten.
Kopieer het volgende commando, geef een naam voor het onderwerp op en selecteer Enter om het commando uit te voeren.
topicname=<your-topic-name>Gebruik de
az eventgrid topic createopdracht om een aangepast onderwerp te maken.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Een berichteindpunt maken
Voordat u zich abonneert op het aangepaste onderwerp, maakt u het eindpunt voor het gebeurtenisbericht. Het eindpunt onderneemt normaal gesproken actie op basis van de gebeurtenisgegevens. Om deze quickstart eenvoudiger te maken, implementeer je een vooraf gebouwde web-app die de gebeurtenismeldingen toont. De geïmplementeerde oplossing omvat een App Service-plan, een App Service-web-app en broncode van GitHub.
Kopieer het volgende commando, geef een naam op voor de webapp (Event Grid Viewer voorbeeld) en selecteer Enter om het commando uit te voeren. Vervang
<your-site-name>door een unieke naam voor de web-app. De naam van de web-app moet uniek zijn omdat deze deel uitmaakt van de DNS-vermelding.sitename=<your-site-name>Voer de
az deployment group createuit om de web-app te implementeren met behulp van een Azure Resource Manager-sjabloon.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
De implementatie kan enkele minuten duren. Nadat de implementatie is voltooid, bekijkt u uw web-app om te controleren of deze wordt uitgevoerd. Navigeer in een webbrowser naar: https://<your-site-name>.azurewebsites.net
Je zou de site moeten zien zonder dat er berichten worden weergegeven.
Abonneren op een aangepast onderwerp
U abonneert u op een Event Grid-onderwerp om Event Grid te vertellen welke gebeurtenissen u wilt bijhouden en waar deze gebeurtenissen moeten worden verzonden. In het volgende voorbeeld ziet u hoe u zich abonneert op het aangepaste onderwerp dat u hebt gemaakt, en hoe de URL van uw web-app wordt doorgegeven als het eindpunt voor de gebeurtenismelding.
Het eindpunt voor uw web-app moet het achtervoegsel /api/updates/ bevatten.
Kopieer het volgende commando, vervang
$sitenamehet door de naam van de webapp die je in de vorige stap hebt gemaakt, en selecteer Enter om het commando uit te voeren.endpoint=https://$sitename.azurewebsites.net/api/updatesVoer de volgende opdracht uit om de resource-id op te halen van het onderwerp dat u hebt gemaakt.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Voer de volgende opdracht uit om een abonnement op het aangepaste onderwerp te maken met behulp van het eindpunt.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointBekijk uw web-app opnieuw en merk op dat er een abonnementsvalidatiegebeurtenis naar de app is verzonden. Selecteer het oogpictogram om de gebeurtenisgegevens uit te breiden. Via Event Grid wordt de validatiegebeurtenis verzonden zodat het eindpunt kan controleren of de gebeurtenisgegevens in aanmerking komen om ontvangen te worden. De web-app bevat code waarmee het abonnement kan worden gevalideerd.
Een gebeurtenis verzenden naar het aangepaste onderwerp
We activeren een gebeurtenis om te zien hoe het bericht via Event Grid naar het eindpunt wordt gedistribueerd. Haal eerst de URL en sleutel voor het aangepaste onderwerp.
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)
Om deze quickstart te vereenvoudigen, gebruik voorbeeldgegevens van gebeurtenissen om naar het aangepaste onderwerp te sturen. Normaal gesproken verzendt een toepassing of Azure-service de gebeurtenisgegevens. In het volgende voorbeeld worden voorbeeldgebeurtenisgegevens gemaakt:
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"} ]'
Het element data van de JSON-code is de payload van je gebeurtenis. Elke juist opgemaakte JSON kan in dit veld worden ingevoerd. U kunt het onderwerpveld ook gebruiken voor geavanceerd routeren en filteren.
cURL is een hulpprogramma dat HTTP-verzoeken verzendt. Gebruik in deze quickstart cURL om het event naar het onderwerp te sturen.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
U hebt de gebeurtenis geactiveerd en Event Grid heeft het bericht verzonden naar het eindpunt dat u hebt geconfigureerd bij het abonneren. Bekijk uw web-app om de gebeurtenis te zien die u zojuist hebt verzonden.
[{
"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}"
}]
Hulpbronnen opschonen
Als je van plan bent om met dit evenement of de event viewer-app te blijven werken, ruim dan de bronnen die je in deze quickstart hebt gemaakt niet op. Gebruik anders het volgende commando om de bronnen die je in deze quickstart hebt aangemaakt te verwijderen.
az group delete --name gridResourceGroup --yes --no-wait
Verwante onderwerpen
U weet nu hoe u onderwerpen maakt en hoe u zich abonneert op een gebeurtenis. Kijk waar Event Grid u nog meer bij kan helpen:
- Info over Event Grid
- Blob Storage-gebeurtenissen naar een aangepast eindpunt op het web routeren
- Big data streamen naar een datawarehouse
Om te leren over het publiceren van events naar en het consumeren van events uit Event Grid in verschillende programmeertalen, zie de volgende voorbeelden: