Reazione agli eventi di configurazione app Azure

app Azure Eventi di configurazione consentono alle applicazioni di reagire alle modifiche apportate ai valori chiave. Questa operazione viene eseguita senza la necessità di codice complicato o di servizi di polling costosi e inefficienti. Gli eventi vengono invece inviati tramite Griglia di eventi di Azure ai sottoscrittori, ad esempio Funzioni di Azure, App per la logica di Azure o anche al listener HTTP personalizzato. Criticamente, si paga solo per ciò che si usa.

app Azure Gli eventi di configurazione vengono inviati al Griglia di eventi di Azure, che fornisce servizi di recapito affidabili alle applicazioni tramite criteri avanzati di ripetizione dei tentativi e recapito di messaggi non recapitabili. Per altre informazioni, vedere Recapito di messaggi di Griglia di eventi e nuovi tentativi.

Gli scenari di eventi comuni Configurazione app includono l'aggiornamento della configurazione dell'applicazione, l'attivazione di distribuzioni o qualsiasi flusso di lavoro orientato alla configurazione. Quando le modifiche sono poco frequenti, ma lo scenario richiede tempi di risposta immediati, l'architettura basata su eventi può risultare particolarmente efficiente.

Per un esempio rapido, vedere Usare Griglia di eventi per le notifiche di modifica dei dati.

Diagram that shows Event Grid Model.

Tipi di evento disponibili

Griglia di eventi usa sottoscrizioni di eventi per instradare i messaggi di evento ai sottoscrittori. app Azure Configuration genera i tipi di evento seguenti:

Tipo di evento Descrizione
Microsoft.AppConfiguration.KeyValueModified Generato quando viene creato o sostituito un valore chiave.
Microsoft.AppConfiguration.KeyValueDeleted Generato quando viene eliminato un valore chiave.
Microsoft.AppConfiguration.SnapshotCreated Generato quando viene creato uno snapshot.
Microsoft.AppConfiguration.SnapshotModified Generato quando viene modificato uno snapshot.

Schema di eventi

Un evento presenta i seguenti dati di primo livello:

Proprietà Digita Description
topic stringa Percorso completo della risorsa all'origine evento. Questo campo non è scrivibile. Questo valore viene specificato da Griglia di eventi.
subject stringa Percorso definito dall'editore all'oggetto dell'evento.
eventType stringa Uno dei tipi di evento registrati per l'origine evento.
eventTime stringa Ora di generazione dell'evento in base all'ora UTC del provider.
id stringa Identificatore univoco per l'evento.
data oggetto Configurazione app dati dell'evento.
dataVersion stringa Versione dello schema dell'oggetto dati. La versione dello schema è definita dall'origine di pubblicazione.
metadataVersion stringa Versione dello schema dei metadati dell'evento. Lo schema delle proprietà di primo livello è definito da Griglia di eventi. Questo valore viene specificato da Griglia di eventi.

Di seguito sono elencate le proprietà dell'oggetto dati:

Evento chiave-valore

Proprietà Digita Description
key stringa Chiave del valore chiave modificato o eliminato.
label stringa Etichetta, se presente, del valore chiave modificato o eliminato.
etag stringa Per KeyValueModified l'etag del nuovo valore chiave. Per KeyValueDeleted l'etag del valore chiave eliminato.
syncToken stringa Token di sincronizzazione che rappresenta lo stato del server dopo l'evento key-value.

Flusso evento

Proprietà Digita Description
name stringa Nome dello snapshot creato o modificato.
etag stringa Per SnapshotCreated l'etag del nuovo snapshot. Per SnapshotModified l'etag dello snapshot modificato.
syncToken stringa Token di sincronizzazione che rappresenta lo stato del server dopo l'evento snapshot.

Evento di esempio

L'esempio seguente illustra lo schema di un evento modificato con valore chiave:

[{
  "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
  "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
  "data": {
    "key": "Foo",
    "label": "FizzBuzz",
    "etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
  },
  "eventType": "Microsoft.AppConfiguration.KeyValueModified",
  "eventTime": "2019-05-31T20:05:03Z",
  "dataVersion": "1",
  "metadataVersion": "1"
}]

L'esempio seguente illustra lo schema di un evento eliminato chiave-valore:

[{
  "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
  "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
  "data": {
    "key": "Foo",
    "label": "FizzBuzz",
    "etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
  },
  "eventType": "Microsoft.AppConfiguration.KeyValueDeleted",
  "eventTime": "2019-05-31T20:05:03Z",
  "dataVersion": "1",
  "metadataVersion": "1"
}]

L'esempio seguente illustra lo schema di un evento creato dallo snapshot:

[{
  "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
  "subject": "https://contoso.azconfig.io/snapshots/Foo",
  "data": {
    "Name": "Foo",
    "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
    "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
  },
  "eventType": "Microsoft.AppConfiguration.SnapshotCreated",
  "eventTime": "2023-09-02T20:05:03Z",
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Nell'esempio seguente viene illustrato lo schema di un evento di modifica dello snapshot:

[{
  "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
  "subject": "https://contoso.azconfig.io/snapshots/Foo",
  "data": {
    "name": "Foo",
    "label": "FizzBuzz",
    "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
    "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
  },
  "eventType": "Microsoft.AppConfiguration.SnapshotModified",
  "eventTime": "2023-09-03T20:05:03Z",
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Per altre informazioni, vedere schema degli eventi di configurazione app Azure.

Procedure consigliate per l'utilizzo di eventi

Le applicazioni che gestiscono eventi Configurazione app devono seguire queste procedure consigliate:

  • È possibile configurare più sottoscrizioni per instradare gli eventi allo stesso gestore eventi, quindi non presupporre che gli eventi provenano da una determinata origine. Controllare invece l'argomento del messaggio per assicurarsi che l'istanza di Configurazione app invii l'evento.
  • eventTypeControllare e non presupporre che tutti gli eventi ricevuti siano i tipi previsti.
  • Usare i etag campi per capire se le informazioni sugli oggetti sono ancora aggiornate.
  • Usare i campi sequencer per comprendere l'ordine degli eventi in qualsiasi oggetto specifico.
  • Usare il campo oggetto per accedere al valore chiave modificato.

Passaggi successivi

Per altre informazioni su Griglia di eventi e per fornire app Azure eventi di configurazione, vedere: