Condividi tramite


Recapitare eventi ai webhook usando gli argomenti dello spazio dei nomi - portale di Azure (anteprima)

L'articolo fornisce istruzioni dettagliate su come pubblicare eventi in Griglia di eventi di Azure in formato JSON CloudEvents e recapitarli usando il modello di recapito push. Per essere specifici, pubblicare eventi in un argomento dello spazio dei nomi in Griglia di eventi ed eseguire il push di tali eventi da una sottoscrizione di eventi a una destinazione del gestore webhook. Per altre informazioni sul modello di recapito push, vedere Panoramica del recapito push.

Nota

Gli spazi dei nomi di Griglia di eventi di Azure supportano attualmente l'autenticazione con token di firma di accesso condiviso e chiavi di accesso.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Creare uno spazio dei nomi di Griglia di eventi

Uno spazio dei nomi di Griglia di eventi fornisce un endpoint definito dall'utente a cui gli eventi vengono pubblicati. L'esempio seguente crea uno spazio dei nomi nel gruppo di risorse usando Bash in Azure Cloud Shell. Il nome dello spazio dei nomi deve essere univoco, poiché fa parte di una voce Domain Name System (DNS).

  1. Passare al portale di Azure.

  2. Nella barra di ricerca dell'argomento, digitare Event Grid Namespaces e selezionare Event Grid Namespaces tra i risultati.

    Screenshot che mostra la barra di ricerca nel portale di Azure.

  3. Nella pagina Spazi dei nomi di Griglia di eventi, selezionare + Crea sulla barra dei comandi. Screenshot che mostra la pagina Spazi dei nomi di Griglia di eventi con il pulsante Crea sulla barra dei comandi selezionata.

  4. Nella pagina Crea spazio dei nomi, seguire questa procedura:

    1. Selezionare la sottoscrizione di Azure in cui creare lo spazio dei nomi.
    2. Creare un nuovo gruppo di risorse selezionando Crea nuovo o selezionare un gruppo di risorse esistente.
    3. Immettere un nome per lo spazio dei nomi.
    4. Selezionare il percorso in cui si vuole creare il gruppo di risorse.
    5. Quindi selezionare Rivedi e crea.
      Screenshot che mostra la pagina Crea spazio dei nomi.
    6. Nella pagina Rivedi e crea selezionare Crea.
  5. Nella pagina Distribuzione, selezionare Vai alla risorsa dopo che la distribuzione è stata completata con successo.

Ottenere la chiave di accesso

  1. Nella pagina Spazio dei nomi di Griglia di eventi, selezionare Chiavi di accesso nel menu a sinistra.
  2. Selezionare il pulsante copia accanto alla chiave di accesso. Screenshot che mostra la pagina Spazi dei nomi di Griglia di eventi con la scheda Chiavi di accesso selezionata.
  3. Salvare la chiave di accesso da qualche parte. perché verrà usato in seguito.

Creare un argomento nello spazio dei nomi

Creare un argomento contenente tutti gli eventi pubblicati nell'endpoint dello spazio dei nomi.

  1. Selezionare Argomenti nel menu a sinistra.
  2. Nella pagina Argomenti, selezionare + Argomento sulla barra dei comandi. Screenshot che mostra la pagina Argomenti.
  3. Nella pagina Crea argomento procedere come segue:
    1. Immettere un nome per l'argomento.
    2. Seleziona Crea.
      Screenshot che mostra la pagina Crea argomento.

Creare un endpoint del messaggio

Prima di sottoscrivere gli eventi, creare l'endpoint per il messaggio dell'evento. L'endpoint richiede in genere azioni basate sui dati degli eventi. Per semplificare questo avvio rapido, si distribuisce un'app Web preesistente che visualizza i messaggi di evento. La soluzione distribuita include un piano di servizio app, un'app Web del servizio app e codice sorgente da GitHub.

  1. Selezionare Distribuisci in Azure per distribuire la soluzione nella sottoscrizione.

    Pulsante per distribuire il modello di Resource Manager in Azure.

  2. Nella pagina Distribuzione personalizzata procedere come segue:

    1. Per Gruppo di risorse selezionare il gruppo di risorse creato durante la creazione dell'account di archiviazione. Sarà più semplice eseguire la pulizia dopo aver completato l'esercitazione eliminando il gruppo di risorse.

    2. Per Nome sito immettere un nome per l'app Web.

    3. Per Nome piano di hosting immettere un nome per il piano del servizio app da usare per l'hosting dell'app Web.

    4. Selezionare Rivedi e crea.

      Screenshot che mostra la pagina Distribuzione personalizzata.

  3. Nella pagina Rivedi e crea selezionare Crea.

  4. Il completamento della distribuzione richiede alcuni minuti. Nella pagina Distribuzione selezionare Vai al gruppo di risorse.

    Screenshot che mostra la pagina della distribuzione riuscita con un collegamento per passare al gruppo di risorse.

  5. Nell'elenco di risorse della pagina Gruppo di risorse selezionare l'app Web creata. Questo elenco include anche il piano di servizio app e l'account di archiviazione.

    Screenshot che mostra la selezione dell'app Web nel gruppo di risorse.

  6. Nella pagina Servizio app per l'app Web selezionare l'URL per passare al sito Web. Il file deve essere nel formato https://<your-site-name>.azurewebsites.net.

    Screenshot che mostra la selezione del collegamento per passare all'app Web.

  7. Confermare che il sito viene visualizzato ma non viene ancora inviato alcun evento.

    Screenshot di un nuovo sito.

    Importante

    Mantenere aperta la finestra del visualizzatore Griglia di eventi di Azure in modo che sia possibile visualizzare gli eventi durante la pubblicazione.

Creare una sottoscrizione di eventi

Creare una sottoscrizione eventi impostando la modalità di recapito su Push, la quale supporta il recapito push.

  1. Passare alla scheda o finestra con la pagina Spazio dei nomi Griglia di eventi aperta dalla scheda o finestra con la pagina Spazio dei nomi di Hub eventi aperta.
  2. Nella pagina Spazio dei nomi Griglia di eventi, selezionare Argomenti nel menu a sinistra.
  3. Nella pagina Argomenti, selezionare l'argomento creato nel passaggio precedente.
  4. Selezionare + Sottoscrizione sulla barra dei comandi. Screenshot che mostra la pagina Argomento con il pulsante Crea sottoscrizione selezionato.
  5. Nella pagina Crea sottoscrizione di eventi procedere come segue:
    1. Nella scheda Basic, immettere un nome per la sottoscrizione eventi.

    2. Selezionare Push come modalità di recapito degli eventi.

    3. Per Tipo di endpoint selezionare Web Hook.

    4. Selezionare Configura un endpoint.

      Screenshot che mostra la pagina Crea sottoscrizione con Push selezionato per modalità di recapito e WebHook come tipo di endpoint.

    5. Nella pagina Web Hook specificare l'endpoint (ad esempio: https://spegridsite0520.azurewebsites.net/api/updates) come illustrato nell'esempio seguente e selezionare Conferma selezione.

      Screenshot che mostra la pagina Web Hook con un valore per l'endpoint sottoscrittore.

    6. Nella pagina Crea sottoscrizione selezionare Crea.

      Screenshot che mostra la pagina Crea sottoscrizione con tutti i campi compilati.

Inviare eventi all'argomento

A questo punto, inviare un evento di esempio all'argomento dello spazio dei nomi seguendo la procedura descritta in questa sezione.

Dichiarare le variabili

  1. Avviare Cloud Shell nel portale di Azure. Passare a Bash.

    Screenshot che mostra Cloud Shell.

  2. Eseguire il comando seguente per dichiarare una variabile per contenere il nome del gruppo di risorse. Sostituire RESOUREGROUPNAME con il nome del gruppo di risorse di Azure.

    resource_group=RESOURCEGROUPNAME
    
  3. In Cloud Shell eseguire il comando seguente per dichiarare una variabile che contenga il nome dello spazio dei nomi. Sostituire NAMESPACENAME con il nome dello spazio dei nomi di Griglia di eventi.

    namespace=NAMESPACENAME
    
  4. Eseguire il comando seguente per dichiarare una variabile per contenere il valore della chiave di accesso annotato in precedenza. Sostituire ACCESSKEY con il valore della chiave di accesso allo spazio dei nomi di Griglia di eventi.

    key=ACCESSKEY
    
  5. In Cloud Shell eseguire il comando seguente per dichiarare una variabile che contenga il nome dello spazio dei nomi.

    topic=TOPICNAME
    

Pubblicare un evento

  1. Recuperare il nome host dello spazio dei nomi. Verrà usato per comporre l'endpoint HTTP dello spazio dei nomi a cui inviare gli eventi. Le operazioni seguenti sono state disponibili per la prima volta con la versione dell'API 2023-06-01-preview. È anche possibile ottenere il nome host dalla pagina Panoramica dello spazio dei nomi di Griglia di eventi nel portale di Azure.

    publish_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic:publish?api-version=2023-06-01-preview
    
  2. Creare un evento di esempio conforme a CloudEvents:

    event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
    

    L'elemento data è il payload dell'evento. Questo campo accetta qualsiasi JSON ben formato. Per ulteriori informazioni sulle proprietà, note anche come attributi di contesto, che è possibile includere in un evento, vedere le specifiche di CloudEvents.

  3. Usare CURL per inviare l'evento all'argomento. CURL è un'utilità che invia richieste HTTP.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

Verificare che il Visualizzatore Griglia di eventi di Azure abbia ricevuto l'evento

Verificare che l'app Web Visualizzatore Griglia di eventi di Azure mostri gli eventi ricevuti da Griglia di eventi.

Screenshot che mostra il Visualizzatore Griglia di eventi di Azure con un evento ricevuto di esempio.

In questa guida introduttiva è stato usato un webhook come gestore eventi. Per una guida introduttiva che usa un hub eventi di Azure come gestore eventi, vedere Distribuire eventi a Hub eventi di Azure usando gli argomenti dello spazio dei nomi.