Gebeurtenissen verzenden van API Management naar Event Grid
VAN TOEPASSING OP: Verbruik | Ontwikkelaar | Basic | Standaard | Premie
API Management kan worden geïntegreerd met Azure Event Grid , zodat u gebeurtenismeldingen kunt verzenden naar andere services en downstreamprocessen kunt activeren. Event Grid is een volledig beheerde service voor gebeurtenisroutering die gebruikmaakt van een model voor publiceren/abonneren. Event Grid bevat ingebouwde ondersteuning voor Azure-services als Azure Functions en Azure Logic Apps en kan gebeurteniswaarschuwingen leveren aan niet-Azure-services via webhooks.
Met behulp van integratie met Event Grid kunt u bijvoorbeeld een toepassing bouwen die een database bijwerkt, een factureringsaccount maakt en een e-mailmelding verzendt telkens wanneer een gebruiker wordt toegevoegd aan uw API Management-exemplaar.
In dit artikel abonneert u zich op Event Grid-gebeurtenissen in uw API Management-exemplaar, activeert u gebeurtenissen en verzendt u de gebeurtenissen naar een eindpunt dat de gegevens verwerkt. Als u het eenvoudig wilt houden, verzendt u gebeurtenissen naar een voorbeeldweb-app die de berichten verzamelt en weergeeft:
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in 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. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor 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.
- Als u nog geen API Management-service hebt, voltooit u de volgende quickstart: Een Azure API Management-exemplaar maken
- Schakel een door het systeem toegewezen beheerde identiteit in uw API Management-exemplaar in.
- Maak een resourcegroep als u geen resourcegroep hebt waarin u het voorbeeldeindpunt kunt implementeren.
Een gebeurteniseindpunt maken
In deze sectie gebruikt u een Resource Manager-sjabloon om een vooraf gebouwde voorbeeldwebtoepassing te implementeren in Azure-app Service. Later abonneert u zich op de Event Grid-gebeurtenissen van uw API Management-exemplaar en geeft u deze app op als het eindpunt waarnaar de gebeurtenissen worden verzonden.
Als u de voorbeeld-app wilt implementeren, kunt u de Azure CLI, Azure PowerShell of Azure Portal gebruiken. In het volgende voorbeeld wordt de opdracht az deployment group create gebruikt in de Azure CLI.
Instellen
RESOURCE_GROUP_NAME
op de naam van een bestaande resourcegroepInstellen
SITE_NAME
op een unieke naam voor uw web-appDe sitenaam moet uniek zijn binnen Azure omdat deze deel uitmaakt van de FQDN (Fully Qualified Domain Name) van de web-app. In een latere sectie gaat u naar de FQDN van de app in een webbrowser om de gebeurtenissen weer te geven.
RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>
az deployment group create \
--resource-group $RESOURCE_GROUP_NAME \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan
Zodra de implementatie is voltooid (dit kan enkele minuten duren), opent u een browser en gaat u naar uw web-app om te controleren of deze wordt uitgevoerd:
https://<your-site-name>.azurewebsites.net
Als het goed is, ziet u dat de voorbeeld-app wordt weergegeven zonder gebeurtenisberichten.
De Event Grid-resourceprovider registreren
Tenzij u Event Grid eerder hebt gebruikt, moet u de Event Grid-resourceprovider registreren. Als u Event Grid eerder hebt gebruikt, gaat u verder met de volgende sectie.
Voer in Azure Portal de volgende stappen uit:
Selecteer Abonnementen in het linkermenu.
Selecteer het abonnement dat u wilt gebruiken voor Event Grid in de lijst met abonnementen.
Selecteer op de pagina Abonnement resourceproviders onder Instellingen in het linkermenu.
Zoek naar Microsoft.EventGrid en controleer of de status niet is geregistreerd.
Selecteer Microsoft.EventGrid in de lijst met providers.
Selecteer Registreren op de opdrachtbalk.
Vernieuwen om ervoor te zorgen dat de status van Microsoft.EventGrid wordt gewijzigd in Geregistreerd.
Abonneren op API Management-gebeurtenissen
In Event Grid abonneert u zich op een onderwerp om aan te geven welke gebeurtenissen u wilt bijhouden en waar ze moeten worden verzonden. Hier maakt u een abonnement op gebeurtenissen in uw API Management-exemplaar.
Blader in Azure Portal naar uw API Management-exemplaar.
Selecteer Gebeurtenissen > + Gebeurtenisabonnement.
Op het tabblad Basis :
- Voer een beschrijvende naam in voor het gebeurtenisabonnement.
- Selecteer in Gebeurtenistypen een of meer API Management-gebeurtenistypen die u naar Event Grid wilt verzenden. Voor het voorbeeld in dit artikel selecteert u ten minste Microsoft.APIManagement.ProductCreated
- Selecteer in Eindpuntdetails het gebeurtenistype Webhook, klik op Een eindpunt selecteren en voer de URL van uw web-app in, gevolgd door
api/updates
. Voorbeeld:https://myapp.azurewebsites.net/api/updates
. - Selecteer Bevestigen.
Laat de instellingen op de overige tabbladen op de standaardwaarden staan en selecteer Vervolgens Maken.
Gebeurtenissen activeren en weergeven
Nu de voorbeeld-app actief is en u zich hebt geabonneerd op uw API Management-exemplaar met Event Grid, kunt u gebeurtenissen genereren.
Maak bijvoorbeeld een product in uw API Management-exemplaar. Als uw gebeurtenisabonnement de gebeurtenis Microsoft.APIManagement.ProductCreated bevat, activeert het maken van het product een gebeurtenis die naar het eindpunt van uw web-app wordt gepusht.
Ga naar uw Event Grid Viewer-web-app en u ziet de ProductCreated
gebeurtenis. Selecteer de knop naast de gebeurtenis om de details weer te geven.
Event Grid-gebeurtenisschema
API Management-gebeurtenisgegevens bevatten de resourceUri
, die de API Management-resource identificeert die de gebeurtenis heeft geactiveerd. Zie de Event Grid-documentatie voor meer informatie over het api Management-gebeurtenisberichtschema:
Azure Event Grid-gebeurtenisschema voor API Management
Volgende stappen
- Meer informatie over abonneren op gebeurtenissen.