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.
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.
eventType
Controllare 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: