Condividi tramite


Usare Griglia di eventi per le notifiche di modifica dei dati di Configurazione App

Questo articolo descrive come impostare le sottoscrizioni di eventi di Configurazione app di Azure per inviare eventi di modifica delle coppie chiave-valore a un endpoint Web. Gli utenti di Configurazione app di Azure possono sottoscrivere eventi generati ogni volta che le coppie chiave-valore vengono modificate. Questi eventi possono attivare webhook, Funzioni di Azure, code di Archiviazione di Azure o qualsiasi altro gestore di eventi supportato da Griglia di eventi di Azure. In genere, si inviano eventi a un endpoint che elabora i dati dell'evento e intraprende azioni. Per maggiore semplicità, tuttavia, in questo articolo gli eventi vengono inviati a un'app Web che raccoglie e visualizza i messaggi.

Prerequisiti

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.

  4. Premere Invio per eseguire il codice o il comando.

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questo articolo è necessario che sia in esecuzione la versione più recente dell'interfaccia della riga di comando di Azure (2.0.70 o versione successiva). Per trovare la versione, eseguire az --version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Se non si usa Cloud Shell, prima è necessario accedere usando az login.

Creare un gruppo di risorse

Gli argomenti della griglia di eventi sono risorse di Azure e devono essere inseriti in un gruppo di risorse di Azure. Il gruppo di risorse è una raccolta logica in cui vengono distribuite e gestite le risorse di Azure.

Creare un gruppo di risorse con il comando az group create.

L'esempio seguente crea un gruppo di risorse denominato <resource_group_name> nell'area westus. Sostituire <resource_group_name> con un nome univoco per il gruppo di risorse.

az group create --name <resource_group_name> --location westus

Creare un archivio di Configurazione app

Sostituire <appconfig_name> con un nome univoco per l’archivio di configurazione e <resource_group_name> con il gruppo di risorse creato in precedenza. Il nome deve essere univoco perché viene usato come nome DNS.

az appconfig create \
  --name <appconfig_name> \
  --location westus \
  --resource-group <resource_group_name> \
  --sku free

Creare un endpoint del messaggio

Prima di sottoscrivere l'argomento, creare l'endpoint per il messaggio dell'evento. L'endpoint richiede in genere azioni basate sui dati degli eventi. Per semplificare questa guida introduttiva, 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.

Sostituire <your-site-name> con un nome univoco per l'app Web. Il nome dell'app Web deve essere univoco perché fa parte della voce DNS.

$sitename=<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=$sitename hostingPlanName=viewerhost

Per il completamento della distribuzione possono essere necessari alcuni minuti. Dopo il completamento della distribuzione, visualizzare l'app Web per assicurarsi che sia in esecuzione. In un Web browser passare a: https://<your-site-name>.azurewebsites.net

Il sito dovrebbe essere visibile senza messaggi attualmente visualizzati.

Abilitare il provider di risorse di Griglia di eventi

  1. Se Griglia di eventi non è stato usato in precedenza nella sottoscrizione di Azure, potrebbe essere necessario registrare il provider di risorse di Griglia di eventi. Eseguire il comando seguente per registrare il provider:

    az provider register --namespace Microsoft.EventGrid
    
  2. La registrazione può richiedere qualche secondo. Eseguire il comando seguente per verificare lo stato:

    az provider show --namespace Microsoft.EventGrid --query "registrationState"
    

    Quando registrationState è Registered, è possibile continuare.

Sottoscrivere Archivio di configurazione

Si sottoscrive un argomento per indicare a Griglia di eventi gli eventi di cui si vuole tenere traccia e dove inviare tali eventi. L'esempio seguente sottoscrive l'istanza di Configurazione app creata e passa l'URL dell'app Web come endpoint per la notifica di eventi. Sostituire <event_subscription_name> con un nome per la sottoscrizione di eventi. Per <resource_group_name> e <appconfig_name> usare i valori creati in precedenza.

L'endpoint per l'app Web deve includere il suffisso /api/updates/.

appconfigId=$(az appconfig show --name <appconfig_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates

az eventgrid event-subscription create \
  --source-resource-id $appconfigId \
  --name <event_subscription_name> \
  --endpoint $endpoint

Visualizzare nuovamente l'app Web e notare che all'app è stato inviato un evento di convalida della sottoscrizione. Selezionare l'icona a forma di occhio per espandere i dati dell'evento. Griglia di eventi invia l'evento di convalida in modo che l'endpoint possa verificare che voglia ricevere i dati dell'evento. L'app Web include il codice per la convalida della sottoscrizione.

Visualizzare l'evento della sottoscrizione

Attivare un evento di Configurazione app

A questo punto, attivare un evento per vedere come la griglia di eventi distribuisce il messaggio nell'endpoint. Creare una coppia chiave- valore usando il valore di <appconfig_name> definito in precedenza.

az appconfig kv set --name <appconfig_name> --key Foo --value Bar --yes

È stato attivato l'evento e Griglia di eventi ha inviato il messaggio all'endpoint configurato al momento della sottoscrizione. Visualizzare l'app Web per vedere l'evento appena inviato.

[{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourceGroups/eventDemoGroup/providers/microsoft.appconfiguration/configurationstores/{appconfig-name}",
  "subject": "https://{appconfig-name}.azconfig.io/kv/Foo",
  "data": {
    "key": "Foo",
    "etag": "a1LIDdNEIV6wCnfv3xaip7fMXD3",
    "syncToken":"zAJw6V16=Njo1IzMzMjE3MzA=;sn=3321730"
  },
  "eventType": "Microsoft.AppConfiguration.KeyValueModified",
  "eventTime": "2019-05-31T18:59:54Z",
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Pulire le risorse

Se si intende continuare a usare questa istanza di Configurazione app e questa sottoscrizione di eventi, non pulire le risorse create in questo articolo. Se non si intende continuare, usare il comando seguente per eliminare le risorse create con questo articolo.

Sostituire <resource_group_name> con il gruppo di risorse creato in precedenza.

az group delete --name <resource_group_name>

Passaggi successivi

Ora che si è appreso come creare argomenti e sottoscrizioni di eventi, è possibile approfondire le operazioni possibili con gli eventi di coppie chiave-valore e con la Griglia di eventi: