Share via


Usare Griglia di eventi per Configurazione app notifiche di modifica dei dati

Questo articolo illustra come configurare app Azure sottoscrizioni di eventi di configurazione per inviare eventi di modifica chiave-valore a un endpoint Web. app Azure Gli utenti della configurazione possono sottoscrivere gli eventi generati ogni volta che vengono modificati i valori chiave. Questi eventi possono attivare web hook, Funzioni di Azure, code Archiviazione di Azure o qualsiasi altro gestore 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 in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) 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 oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, questo articolo richiede l'esecuzione della 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. Per controllare lo stato, eseguire il comando seguente:

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

    Quando registrationState è Registered, è possibile continuare.

Sottoscrivere l'archivio Configurazione app

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.

View subscription event

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: