Reagera på Azure App Configuration-händelser
Med Azure App Configuration-händelser kan program reagera på ändringar i nyckelvärden. Detta görs utan att behöva komplicerad kod eller dyra och ineffektiva avsökningstjänster. I stället skickas händelser via Azure Event Grid till prenumeranter, till exempel Azure Functions, Azure Logic Apps eller till och med till din egen anpassade HTTP-lyssnare. Kritiskt är att du bara betalar för det du använder.
Azure App Configuration-händelser skickas till Azure Event Grid, som tillhandahåller tillförlitliga leveranstjänster till dina program genom omfattande återförsöksprinciper och leverans med obeställbara meddelanden. Mer information finns i Leverans av Event Grid-meddelanden och försök igen.
Vanliga appkonfigurationshändelsescenarier är uppdatering av programkonfiguration, utlösande distributioner eller valfritt konfigurationsorienterat arbetsflöde. När ändringar är ovanliga, men ditt scenario kräver omedelbar svarstid, kan händelsebaserad arkitektur vara särskilt effektiv.
Ta en titt på Använda Event Grid för meddelanden om dataändring för ett snabbt exempel.
Tillgängliga händelsetyper
Event Grid använder händelseprenumerationer för att dirigera händelsemeddelanden till prenumeranter. Azure App Configuration genererar följande händelsetyper:
Händelsetyp | beskrivning |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Utlöses när ett nyckelvärde skapas eller ersätts. |
Microsoft.AppConfiguration.KeyValueDeleted | Utlöses när ett nyckelvärde tas bort. |
Microsoft.AppConfiguration.SnapshotCreated | Utlöses när en ögonblicksbild skapas. |
Microsoft.AppConfiguration.SnapshotModified | Utlöses när en ögonblicksbild ändras. |
Händelseschema
En händelse har följande data på den översta nivån:
Property | Type | Description |
---|---|---|
source |
sträng | Fullständig resurssökväg till händelsekällan. Det här fältet kan inte skrivas. Event Grid ger det här värdet. |
subject |
sträng | Utgivardefinierad sökväg till händelseobjektet. |
type |
sträng | En av de registrerade händelsetyperna för den här händelsekällan. |
time |
sträng | Den tid då händelsen genereras baserat på leverantörens UTC-tid. |
id |
sträng | Unik identifierare för händelsen. |
data |
objekt | Händelsedata för App Configuration. |
specversion |
sträng | CloudEvents schemaspecifikationsversion. |
Dataobjektet har följande egenskaper:
Nyckelvärdeshändelse
Property | Type | Description |
---|---|---|
key |
sträng | Nyckeln för nyckelvärdet som ändrades eller togs bort. |
label |
sträng | Etiketten, om någon, för nyckelvärdet som ändrades eller togs bort. |
etag |
sträng | För KeyValueModified etag för det nya nyckelvärdet. För KeyValueDeleted etag för nyckelvärdet som togs bort. |
syncToken |
sträng | Synkroniseringstoken som representerar servertillståndet efter nyckel/värde-händelsen. |
Händelse för ögonblicksbild
Property | Type | Description |
---|---|---|
name |
sträng | Namnet på ögonblicksbilden som skapades eller ändrades. |
etag |
sträng | För SnapshotCreated etag för den nya ögonblicksbilden. För SnapshotModified etag för ögonblicksbilden som ändrades. |
syncToken |
sträng | Synkroniseringstoken som representerar servertillståndet efter händelsen med ögonblicksbilden. |
Exempelhändelse
I följande exempel visas schemat för en ändrad nyckel/värde-händelse:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueModified",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
I följande exempel visas schemat för en nyckel/värde-borttagen händelse:
[{
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
"data": {
"key": "Foo",
"label": "FizzBuzz",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0"
},
"type": "Microsoft.AppConfiguration.KeyValueDeleted",
"time": "2019-05-31T20:05:03Z",
"specversion": "1.0"
}]
I följande exempel visas schemat för en händelse som skapats av en ögonblicksbild:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/kvsnapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotCreated",
"time": "2023-09-02T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
I följande exempel visas schemat för en händelse som ändrats av en ögonblicksbild:
[{
"source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
"subject": "https://contoso.azconfig.io/snapshots/Foo",
"type": "Microsoft.AppConfiguration.SnapshotModified",
"time": "2023-09-03T20:05:03.0000000Z",
"id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
"data": {
"name": "Foo",
"etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
"syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
},
"specversion": "1.0"
}]
Mer information finns i Händelseschema för Azure App Configuration.
Metoder för att använda händelser
Program som hanterar appkonfigurationshändelser bör följa dessa rekommenderade metoder:
- Flera prenumerationer kan konfigureras för att dirigera händelser till samma händelsehanterare, så anta inte att händelser kommer från en viss källa. Kontrollera i stället ämnet för meddelandet för att se till att appkonfigurationsinstansen skickar händelsen.
eventType
Kontrollera , och anta inte att alla händelser som du får är de typer som du förväntar dig.- Använd fälten
etag
för att förstå om din information om objekt fortfarande är uppdaterad. - Använd sekvenserarens fält för att förstå ordningen på händelser för ett visst objekt.
- Använd ämnesfältet för att komma åt nyckelvärdet som ändrades.
Nästa steg
Mer information om Event Grid och hur du ger Azure App Configuration-händelser ett försök finns i: