Delen via


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:

API Management-gebeurtenissen in Event Grid-viewer

Vereisten

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 resourcegroep

  • Instellen SITE_NAME op een unieke naam voor uw web-app

    De 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:

  1. Selecteer Abonnementen in het linkermenu.

  2. Selecteer het abonnement dat u wilt gebruiken voor Event Grid in de lijst met abonnementen.

  3. Selecteer op de pagina Abonnement resourceproviders onder Instellingen in het linkermenu.

  4. Zoek naar Microsoft.EventGrid en controleer of de status niet is geregistreerd.

  5. Selecteer Microsoft.EventGrid in de lijst met providers.

  6. Selecteer Registreren op de opdrachtbalk.

    Afbeelding van de registratie van de Microsoft.EventGrid-provider met het Azure-abonnement.

  7. Vernieuwen om ervoor te zorgen dat de status van Microsoft.EventGrid wordt gewijzigd in Geregistreerd.

    Afbeelding van de geslaagde registratie van de Microsoft.EventGrid-provider met het Azure-abonnement.

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.

  1. Blader in Azure Portal naar uw API Management-exemplaar.

  2. Selecteer Gebeurtenissen > + Gebeurtenisabonnement.

  3. 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.
  4. Laat de instellingen op de overige tabbladen op de standaardwaarden staan en selecteer Vervolgens Maken.

    Een gebeurtenisabonnement maken in Azure Portal

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.

Gebeurtenis gemaakt door product in Event Grid-viewer

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