Inviare eventi da Gestione API a Griglia di eventi
SI APPLICA A: Tutti i livelli di Gestione API
Gestione API si integra con Griglia di eventi di Azure per poter inviare le notifiche degli eventi agli altri servizi e attivare processi downstream. Griglia di eventi è un servizio di routing di eventi completamente gestito che usa un modello di pubblicazione-sottoscrizione. Griglia di eventi include il supporto predefinito per i servizi di Azure, ad esempio Funzioni di Azure e App per la logica di Azure, e può recapitare gli avvisi relativi agli eventi ai servizi non di Azure usando i webhook.
Ad esempio, usando l'integrazione con Griglia di eventi, è possibile compilare un'applicazione che aggiorna un database, che crea un account di fatturazione e invia una notifica e-mail ogni volta che un utente viene aggiunto all'istanza di Gestione API.
In questo articolo ci si sottoscrive agli eventi di Griglia di eventi nell'istanza di Gestione API, si attivano gli eventi e si inviano gli eventi a un endpoint che elabora i dati. Per semplificare l'operazione, inviare eventi a un'app Web di esempio che raccoglie e mostra i messaggi:
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere la Avvio rapido di Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Se non si dispone già di un servizio Gestione API, completare la guida introduttiva seguente: Creare un'istanza di Gestione API di Azure
- Abilitare un'identità gestita assegnata dal sistema nell'istanza di Gestione API.
- Creare un gruppo di risorse se non è disponibile uno in cui distribuire l'endpoint di esempio.
Creare un endpoint per gli eventi
In questa sezione si usa un modello di Resource Manager per distribuire un'applicazione Web di esempio nel servizio app di Azure. Successivamente, si sottoscrivono gli eventi di Griglia di eventi dell’istanza di Gestione API e si specifica l'app come endpoint a cui vengono inviati gli eventi.
Per distribuire l'app di esempio, è possibile usare l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure. L'esempio seguente usa il comando az deployment group create nell'interfaccia della riga di comando di Azure.
Impostare
RESOURCE_GROUP_NAME
sul nome di un gruppo di risorse esistenteImpostare
SITE_NAME
sul nome univoco per l'app WebIl nome del sito deve essere univoco all'interno di Azure perché fa parte del nome di dominio completo (FQDN) dell'app Web. In una sezione successiva, si passa al nome di dominio completo dell'app in un Web browser per visualizzare gli eventi.
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
Al termine della distribuzione (che può richiedere alcuni minuti), aprire un browser e passare all'app Web per verificare se è in esecuzione:
https://<your-site-name>.azurewebsites.net
Verrà visualizzata l'app di esempio senza messaggi di evento.
Registrare il provider di risorse di Griglia di eventi
Se non si è usato Griglia di eventi prima, sarà necessario registrare il provider di risorse Griglia di eventi. Se è già stato usato Griglia di eventi, passare alla sezione successiva.
Nel portale di Azure seguire questa procedura:
Nel menu a sinistra, selezionare Sottoscrizioni.
Selezionare la sottoscrizione di Griglia di eventi che si vuole usare dall'elenco delle sottoscrizioni.
Nella pagina Sottoscrizione selezionare Provider di risorse in Impostazioni nel menu a sinistra.
Cercare Microsoft.EventGrid e verificare che lo stato sia non registrato.
Selezionare Microsoft.EventGrid nell'elenco dei provider.
Selezionare Registra sulla barra dei comandi.
Aggiornare per assicurarsi che lo stato di Microsoft.EventGrid sia cambiato in Registrato.
Sottoscriversi a eventi di Gestione API
In Griglia di eventi si sottoscrive un argomento per indicare gli eventi di cui si vuole tenere traccia e la destinazione a cui inviarli. In questo caso si crea una sottoscrizione agli eventi dell'istanza di Gestione API.
Nel portale di Azure accedere all'istanza di Gestione API.
Selezionare Eventi > + sottoscrizione eventi.
Nella scheda impostazioni generali:
- Immettere un nome descrittivo per la sottoscrizione eventi.
- In Tipi di evento selezionare uno o più tipi di eventi di Gestione API da inviare a Griglia di eventi. Per l'esempio in questo articolo, selezionare almeno Microsoft.APIManagement.ProductCreated
- In Dettagli endpoint selezionare il tipo di evento Webhook, fare clic su Seleziona un endpoint e immettere l'URL dell'app Web seguito da
api/updates
. Esempio:https://myapp.azurewebsites.net/api/updates
. - Selezionare Confermare la selezione.
Lasciare le impostazioni nelle schede rimanenti con i valori predefiniti, quindi selezionare Crea.
Attivare e visualizzare gli eventi
Ora che l'app di esempio è attiva e si è eseguita la sottoscrizione all’istanza di Gestione API con Griglia di eventi, si è pronti per generare eventi.
Ad esempio, creare un prodotto nell'istanza di Gestione API. Se la sottoscrizione agli eventi include l'evento Microsoft.APIManagement.ProductCreated, la creazione del prodotto attiva un evento di cui viene eseguito il push nell'endpoint dell'app Web.
Passando all'app Web Event Grid Viewer dovrebbe essere possibile visualizzare l’evento ProductCreated
. Selezionare il pulsante accanto all'evento per visualizzarne i dettagli.
Schema di eventi di Griglia di eventi
I dati degli eventi di Gestione API includono resourceUri
, che identifica la risorsa di Gestione API che ha attivato l'evento. Per informazioni dettagliate sullo schema dei messaggi relativi agli eventi di Gestione API, vedere la documentazione di Griglia di eventi:
Schema di eventi di Griglia di eventi di Azure per Gestione API
Passaggi successivi
- Altre informazioni sulla sottoscrizione agli eventi.