Sdílet prostřednictvím


Odesílání událostí ze služby API Management do Event Gridu

PLATÍ PRO: Consumption | Vývojář | Základní | Standardní | Prémie

API Management se integruje se službou Azure Event Grid , abyste mohli odesílat oznámení událostí do jiných služeb a aktivovat podřízené procesy. Event Grid je plně spravovaná služba směrování událostí, která používá model publikování a odběru. Event Grid nabízí integrovanou podporu služeb Azure, jako jsou Azure Functions nebo Azure Logic Apps, a dokáže posílat upozornění na události do služeb mimo Azure s využitím webhooků.

Pomocí integrace s Event Gridem můžete například vytvořit aplikaci, která aktualizuje databázi, vytvoří fakturační účet a odešle e-mailové oznámení pokaždé, když se uživatel přidá do vaší instance služby API Management.

V tomto článku se přihlásíte k odběru událostí Event Gridu ve vaší instanci služby API Management, aktivujete události a odešlete události do koncového bodu, který zpracovává data. Aby bylo jednoduché, odešlete události do ukázkové webové aplikace, která shromažďuje a zobrazuje zprávy:

Události služby API Management v prohlížeči Event Gridu

Požadavky

Vytvoření koncového bodu události

V této části použijete šablonu Resource Manageru k nasazení předem připravené ukázkové webové aplikace do služby Aplikace Azure Service. Později se přihlásíte k odběru událostí Event Gridu instance služby API Management a určíte tuto aplikaci jako koncový bod, do kterého se události odesílají.

K nasazení ukázkové aplikace můžete použít Azure CLI, Azure PowerShell nebo Azure Portal. Následující příklad používá příkaz az deployment group create v Azure CLI.

  • Nastavit RESOURCE_GROUP_NAME na název existující skupiny prostředků

  • Nastavení SITE_NAME jedinečného názvu webové aplikace

    Název webu musí být v rámci Azure jedinečný, protože je součástí plně kvalifikovaného názvu domény (FQDN) webové aplikace. V další části přejdete do plně kvalifikovaného názvu domény aplikace ve webovém prohlížeči a zobrazíte události.

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

Po úspěšném nasazení (může to trvat několik minut), otevřete prohlížeč a přejděte do webové aplikace, abyste měli jistotu, že je spuštěná:

https://<your-site-name>.azurewebsites.net

Měla by se zobrazit ukázková aplikace vykreslená bez zobrazených zpráv událostí.

Registrace poskytovatele prostředků Event Gridu

Pokud jste službu Event Grid ještě nepoužívali, budete muset zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid používali dříve, přejděte k další části.

Na webu Azure Portal proveďte následující kroky:

  1. V nabídce vlevo vyberte Předplatná.

  2. V seznamu odběrů vyberte předplatné , které chcete použít pro Event Grid.

  3. Na stránce Předplatné vyberte v části Nastavení v nabídce vlevo možnost Poskytovateléprostředků.

  4. Vyhledejte Microsoft.EventGrid a ověřte, že stav není zaregistrovaný.

  5. V seznamu zprostředkovatelů vyberte Microsoft.EventGrid .

  6. Na panelu příkazů vyberte Zaregistrovat .

    Obrázek znázorňující registraci poskytovatele Microsoft.EventGrid s předplatným Azure

  7. Aktualizujte, abyste měli jistotu , že je stav Microsoft.EventGrid změněn na Zaregistrovaný.

    Obrázek znázorňující úspěšnou registraci poskytovatele Microsoft.EventGrid s předplatným Azure

Přihlášení k odběru událostí služby API Management

Ve službě Event Grid se přihlásíte k odběru tématu , abyste mu řekli, které události chcete sledovat a kam je chcete odeslat. Tady vytvoříte odběr událostí ve vaší instanci služby API Management.

  1. Na webu Azure Portal přejděte k vaší instanci služby API Management.

  2. Vyberte Události > a odběr událostí.

  3. Na kartě Základní:

    • Zadejte popisný název odběru události.
    • V typech událostí vyberte jeden nebo více typů událostí služby API Management, které chcete odeslat do event Gridu. V příkladu v tomto článku vyberte alespoň Microsoft.APIManagement.ProductCreated.
    • V části Podrobnosti o koncovém bodu vyberte typ události WebHooku , klikněte na Vybrat koncový bod a zadejte adresu URL webové aplikace, za kterou api/updatesnásleduje . Příklad: https://myapp.azurewebsites.net/api/updates.
    • Vyberte Potvrdit výběr.
  4. Ponechte nastavení na zbývajících kartách na výchozích hodnotách a pak vyberte Vytvořit.

    Vytvoření odběru událostí na webu Azure Portal

Trigger a zobrazení událostí

Teď, když je ukázková aplikace spuštěná a přihlásili jste se k odběru instance služby API Management pomocí Event Gridu, jste připraveni generovat události.

Jako příklad vytvořte produkt v instanci služby API Management. Pokud vaše odběr událostí zahrnuje událost Microsoft.APIManagement.ProductCreated , vytvoření produktu aktivuje událost, která se odešle do koncového bodu webové aplikace.

Přejděte do webové aplikace Event Grid Viewer a měla by se ProductCreated zobrazit událost. Výběrem tlačítka vedle události zobrazíte podrobnosti.

Událost vytvořená produktem v prohlížeči Event Grid

Schéma událostí služby Event Grid

Data událostí služby API Management zahrnují resourceUridata , která identifikuje prostředek služby API Management, který událost aktivoval. Podrobnosti o schématu zpráv událostí služby API Management najdete v dokumentaci ke službě Event Grid:

Schéma událostí služby Azure Event Grid pro API Management

Další kroky