Condividi tramite


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:

Gestione API eventi nel visualizzatore Griglia di eventi

Prerequisiti

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 esistente

  • Impostare SITE_NAME sul nome univoco per l'app Web

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

  1. Nel menu a sinistra, selezionare Sottoscrizioni.

  2. Selezionare la sottoscrizione di Griglia di eventi che si vuole usare dall'elenco delle sottoscrizioni.

  3. Nella pagina Sottoscrizione selezionare Provider di risorse in Impostazioni nel menu a sinistra.

  4. Cercare Microsoft.EventGrid e verificare che lo stato sia non registrato.

  5. Selezionare Microsoft.EventGrid nell'elenco dei provider.

  6. Selezionare Registra sulla barra dei comandi.

    Immagine che mostra la registrazione del provider Microsoft.EventGrid con la sottoscrizione di Azure.

  7. Aggiornare per assicurarsi che lo stato di Microsoft.EventGrid sia cambiato in Registrato.

    Immagine che mostra la corretta registrazione del provider Microsoft.EventGrid con la sottoscrizione di Azure.

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.

  1. Nel portale di Azure accedere all'istanza di Gestione API.

  2. Selezionare Eventi > + sottoscrizione eventi.

  3. 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.
  4. Lasciare le impostazioni nelle schede rimanenti con i valori predefiniti, quindi selezionare Crea.

    Creare una sottoscrizione di eventi in portale di Azure

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.

Evento creato dal prodotto nel visualizzatore Griglia di eventi

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