Aangepaste gebeurtenissen routeren naar het webeindpunt met behulp van Azure Portal en Event Grid
Event Grid is een volledig beheerde service waarmee u eenvoudig gebeurtenissen kunt beheren in veel verschillende Azure-services en -toepassingen. Het vereenvoudigt het bouwen van gebeurtenisgestuurde en serverloze toepassingen. Zie overzicht van Event Grid voor een overzicht van de service.
In dit artikel gebruikt u de Azure Portal om de volgende taken uit te voeren:
- Maak een aangepast onderwerp.
- Abonneer u op het aangepaste onderwerp.
- Activeer de gebeurtenis.
- Bekijk het resultaat. Normaal gesproken verzendt u gebeurtenissen naar een eindpunt dat de gebeurtenisgegevens verwerkt en vervolgens in actie komt. Ter vereenvoudiging van dit artikel stuurt u hier de gebeurtenissen echter naar een web-app die de berichten verzamelt en weergeeft.
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Event Grid-resourceprovicer inschakelen
Als u Event Grid in uw Azure-abonnement nog niet eerder hebt gebruikt, moet u mogelijk de Event Grid-resourceprovider registreren.
In Azure Portal:
- Selecteer Abonnementen in het menu links.
- Selecteer het abonnement dat u voor Event Grid gebruikt.
- Selecteer onder Instellingen in het menu links de optie Resourceproviders.
- Zoek Microsoft.EventGrid.
- Als deze niet is geregistreerd, selecteert u Registreren.
Het kan even duren voordat de registratie is voltooid. Selecteer Vernieuwen om de status bij te werken. Wanneer de Status****Geregistreerde is, bent u klaar om verder te gaan.
Een aangepast onderwerp maken
Een Event Grid-onderwerp biedt een door de gebruiker gedefinieerd eindpunt waarop u de gebeurtenissen kunt posten.
Meld u aan bij de Azure-portal.
Typ in de zoekbalk van het onderwerp Event Grid Onderwerpen en selecteer vervolgens Event Grid Onderwerpen in de vervolgkeuzelijst.
Selecteer op Event Grid pagina Onderwerpen + Maken op de werkbalk.
Voer de volgende stappen uit op de pagina Onderwerp maken:
Selecteer uw Azure-abonnement.
Selecteer een bestaande resourcegroep of selecteer Nieuwe maken en geef een naam op voor de resourcegroep.
Geef een unieke naam op voor het aangepaste onderwerp. De onderwerpnaam moet uniek zijn omdat deze wordt vertegenwoordigd door een DNS-vermelding. Gebruik niet de naam die in de afbeelding wordt weergegeven. Maak in plaats daarvan uw eigen naam - deze moet tussen 3 en 50 tekens lang zijn en mag alleen de waarden a-z, A-Z, 0-9 en '-' bevatten.
Selecteer een locatie voor het Event Grid-onderwerp.
Selecteer Controleren en maken onderaan de pagina.
Selecteer de optie Maken op het tabblad Beoordelen en maken van de pagina Onderwerp maken.
Nadat de implementatie is geslaagd, selecteert u Ga naar resource om naar de pagina Event Grid onderwerp voor uw onderwerp te gaan. Laat deze pagina geopend. U gebruikt deze later in de quickstart.
Het eindpunt van een bericht maken
Voordat u een abonnement voor het aangepaste onderwerp maakt, moet u een eindpunt voor het gebeurtenisbericht maken. Het eindpunt onderneemt normaal gesproken actie op basis van de gebeurtenisgegevens. Ter vereenvoudiging van deze snelstart gaat u een vooraf gebouwde web-app implementeren waarmee de gebeurtenisberichten worden weergegeven. De geïmplementeerde oplossing omvat een App Service-plan, een App Service-web-app en broncode van GitHub.
Selecteer Implementeren in Azure op de artikelpagina om de oplossing voor uw abonnement te implementeren. Geef in Azure Portal waarden op voor de parameters.
Voer op de pagina Aangepaste implementatie de volgende stappen uit:
Selecteer voor Resourcegroep de resourcegroep die u hebt gemaakt toen u het opslagaccount maakte. Het is voor u eenvoudiger om op te schonen door de resourcegroep te verwijderen wanneer u klaar bent met de zelfstudie.
Voer in het vak Sitenaam een naam in voor de web-app.
Voer voor Naam van hostingplan een naam in voor het App Service-plan dat u wilt gebruiken voor het hosten van de web-app.
Selecteer Controleren + maken.
Selecteer op de pagina Beoordelen en maken de optie Maken.
De implementatie kan enkele minuten duren. Selecteer Waarschuwingen (belpictogram) in de portal en selecteer vervolgens Naar de resourcegroep gaan.

Selecteer in de lijst met resources op de pagina Resourcegroep de web-app die u hebt gemaakt. U ziet ook het App Service-plan en het opslagaccount in deze lijst.

Selecteer op de pagina App Service voor uw web-app de URL om naar de website te gaan. De URL moet de volgende indeling hebben:
https://<your-site-name>.azurewebsites.net.
Controleer of de site wordt weergegeven en dat er zijn nog geen gebeurtenissen naar zijn gepost.

Abonneren op aangepast onderwerp
U abonneert u op een Event Grid-onderwerp om Event Grid te laten weten welke gebeurtenissen u wilt traceren en waar de gebeurtenissen naartoe moeten worden gestuurd.
Selecteer op de pagina Event Grid-onderwerp voor uw aangepaste onderwerp + Gebeurtenisabonnement op de werkbalk.
Voer op de pagina Gebeurtenisabonnement maken de volgende stappen uit:
Voer een naam in voor het gebeurtenisabonnement.
Selecteer Webhook voor het eindpunttype.
Kies Een eindpunt selecteren.
Voor het webhookeindpunt geeft u de URL van uw web-app op en voegt u
api/updatestoe aan de URL van de startpagina. Selecteer Confirm Selection (Selectie bevestigen).
Selecteer Maken als u terug bent op de pagina Gebeurtenisabonnement maken.
Bekijk opnieuw uw web-app en u zult zien dat er een validatiegebeurtenis voor een abonnement naartoe 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 onderwerp
Nu gaan we een gebeurtenis activeren om te zien hoe het bericht via Event Grid naar het eindpunt wordt gedistribueerd. Gebruik Azure CLI of PowerShell om een testgebeurtenis te verzenden naar uw aangepaste onderwerp. Meestal worden de gebeurtenisgegevens verzonden via een toepassing of Azure-service.
Het eerste voorbeeld maakt gebruik van Azure CLI. In dit voorbeeld worden de URL en de sleutel voor het aangepaste onderwerp, plus de voorbeeldgegevens van de gebeurtenis opgehaald. Gebruik de naam van het aangepaste onderwerp voor <topic name>. Hiermee worden voorbeeldgebeurtenisgegevens gemaakt. Het element data van de JSON is de nettolading van de 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 waarmee HTTP-aanvragen worden verzonden.
Azure CLI
Selecteer Cloud Shell in Azure Portal. De Cloud Shell wordt geopend in het onderste deelvenster van de webbrowser.
Selecteer Bash in de linkerbovenhoek van het Cloud Shell-venster.

Voer de volgende opdracht uit om het eindpunt voor het onderwerp op te halen: Nadat u de opdracht hebt gekopieerd en geplakt, werkt u de onderwerpnaam en naam van de resourcegroep bij voordat u de opdracht uitvoert. U publiceert voorbeeldgebeurtenissen naar dit onderwerp-eindpunt.
endpoint=$(az eventgrid topic show --name <topic name> -g <resource group name> --query "endpoint" --output tsv)Voer de volgende opdracht uit om de sleutel voor het aangepaste onderwerp op te halen: Nadat u de opdracht hebt gekopieerd en geplakt, werkt u de onderwerpnaam en naam van de resourcegroep bij voordat u de opdracht uitvoert. Dit is de primaire sleutel van het Event Grid-onderwerp. Ga naar het tabblad Toegangssleutels van de pagina Event Grid-onderwerp om deze sleutel op te halen in Azure Portal. U hebt de toegangssleutel nodig als u een gebeurtenis voor een aangepast onderwerp wilt plaatsen.
key=$(az eventgrid topic key list --name <topic name> -g <resource group name> --query "key1" --output tsv)Kopieer de volgende instructie met de gebeurtenisdefinitie en druk op ENTER.
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"} ]'Voer de volgende curl-opdracht uit om de gebeurtenis te plaatsen: In de opdracht is de
aeg-sas-key-header ingesteld op de toegangssleutel die u eerder hebt gekregen.curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Azure PowerShell
In het tweede voorbeeld wordt PowerShell gebruikt om vergelijkbare stappen uit te voeren.
Selecteer Cloud Shell in Azure Portal (of ga naar
https://shell.azure.com/). De Cloud Shell wordt geopend in het onderste deelvenster van de webbrowser.
Selecteer in de Cloud Shell de optie PowerShell in de linkerbovenhoek van het Cloud Shell-venster. Zie de voorbeeldafbeelding van een Cloud Shell-venster in de sectie Azure CLI.
Stel de volgende variabelen in. Nadat u elke opdracht hebt gekopieerd en geplakt, werkt u de onderwerpnaam en naam van de resourcegroep bij voordat u de opdracht uitvoert:
Resourcegroep:
$resourceGroupName = "<resource group name>"Naam van Event Grid-onderwerp:
$topicName = "<topic name>"Voer de volgende opdrachten uit om het eindpunt en de sleutels voor het onderwerp op te halen:
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicNameBereid de gebeurtenis voor. Kopieer de instructies en voer deze uit in het Cloud Shell-venster.
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct body using Hashtable $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert event body from Hashtable to JSON Object #Append square brackets to the converted JSON payload since they are expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"Gebruik de cmdlet Invoke-WebRequest om de gebeurtenis te verzenden.
Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
Controleren in de Event Grid-viewer
U hebt de gebeurtenis geactiveerd en Event Grid heeft het bericht verzonden naar het eindpunt dat u hebt geconfigureerd toen u zich abonneerde. Bekijk uw web-app om de gebeurtenis te zien die u zojuist hebt verzonden.
Resources opschonen
Als u verder wilt werken met deze gebeurtenis, schoon dan de resources die u in dit artikel hebt gemaakt, niet op. Verwijder anders de resources die u in dit artikel hebt gemaakt.
Selecteer Resourcegroepen in het linkermenu. Als u deze optie niet ziet in het linkermenu, selecteert u Alle services in het linkermenu en selecteert u Resourcegroepen.

Selecteer de resourcegroep om de pagina Resourcegroep te openen.
Selecteer Resourcegroep verwijderen op de taakbalk.
Controleer de verwijdering door de naam van de resourcegroep in te voeren en Verwijderen te selecteren.
De andere resourcegroep die u in de afbeelding ziet, is gemaakt en gebruikt door het Cloud Shell-venster. Verwijder deze als u het Cloud Shell-venster later niet meer gaat gebruiken.
Volgende stappen
U weet nu hoe u aangepaste onderwerpen maakt en hoe u zich abonneert op een gebeurtenis. Kijk waar Event Grid u nog meer bij kan helpen:
- Over Event Grid
- Blob Storage-gebeurtenissen naar een aangepast eindpunt op het web routeren
- Monitor virtual machine changes with Azure Event Grid and Logic Apps (Wijzigingen in virtuele machines bewaken met Azure Event Grid en Logic Apps)
- Big data streamen naar een datawarehouse
Zie de volgende voorbeelden voor meer informatie over het publiceren van gebeurtenissen naar en het verbruiken Event Grid gebruik van verschillende programmeertalen.
