Reakce na události konfigurace Aplikace Azure
Aplikace Azure události konfigurace umožňují aplikacím reagovat na změny hodnot klíče. To se provádí bez nutnosti složitého nebo nákladného a neefektivního dotazování služeb. Místo toho se události odsílají přes Azure Event Grid odběratelům, jako jsou Azure Functions, Azure Logic Apps nebo dokonce vlastní naslouchací proces HTTP. Kriticky platíte jenom za to, co používáte.
Aplikace Azure události konfigurace se odesílají do služby Azure Event Grid, která poskytuje spolehlivé služby doručování aplikací prostřednictvím bohatých zásad opakování a doručení nedoručených dopisů. Další informace najdete v tématu Doručování zpráv event Gridu a opakování.
Mezi běžné scénáře událostí konfigurace aplikací patří aktualizace konfigurace aplikace, aktivace nasazení nebo jakýkoli pracovní postup orientovaný na konfiguraci. Pokud změny nejsou časté, ale váš scénář vyžaduje okamžitou odezvu, může být architektura založená na událostech obzvláště efektivní.
Rychlý příklad najdete v tématu Použití Event Gridu pro oznámení o změnách dat.
Dostupné typy událostí
Event Grid používá odběry událostí ke směrování zpráv událostí odběratelům. Aplikace Azure Konfigurace generuje následující typy událostí:
Typ události | Popis |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Vyvolá se při vytvoření nebo nahrazení hodnoty klíče. |
Microsoft.AppConfiguration.KeyValueDeleted | Vyvolá se při odstranění hodnoty klíče. |
Microsoft.AppConfiguration.SnapshotCreated | Vyvolá se při vytvoření snímku. |
Microsoft.AppConfiguration.SnapshotModified | Vyvolá se při změně snímku. |
Schéma událostí
Událost má následující data nejvyšší úrovně:
Vlastnost | Type | Description |
---|---|---|
source |
string | Úplná cesta prostředku ke zdroji událostí. Toto pole není zapisovatelné. Tuto hodnotu poskytuje Event Grid. |
subject |
string | Cesta k předmětu události, kterou definuje vydavatel. |
type |
string | Jeden z registrovaných typů události pro tento zdroj události. |
time |
string | Čas vygenerování události na základě času UTC poskytovatele. |
id |
string | Jedinečný identifikátor události. |
data |
objekt | Data událostí konfigurace aplikace |
specversion |
string | Verze specifikace schématu CloudEvents |
Datový objekt má následující vlastnosti:
Událost klíč-hodnota
Vlastnost | Type | Description |
---|---|---|
key |
string | Klíč hodnoty klíče, která byla změněna nebo odstraněna. |
label |
string | Popisek hodnoty klíče, který byl změněn nebo odstraněn. |
etag |
string | U KeyValueModified značky nová klíč-hodnota. U KeyValueDeleted značky klíč-hodnota, která byla odstraněna. |
syncToken |
string | Token synchronizace představující stav serveru po události klíč-hodnota. |
Událost snímku
Vlastnost | Type | Description |
---|---|---|
name |
string | Název vytvořeného nebo upraveného snímku |
etag |
string | Pro SnapshotCreated značku nového snímku. U SnapshotModified značky etag snímku, který byl změněn. |
syncToken |
string | Token synchronizace představující stav serveru po události snímku. |
Příklad události
Následující příklad ukazuje schéma události změněné klíč-hodnota:
[{
"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"
}]
Následující příklad ukazuje schéma odstraněné události klíč-hodnota:
[{
"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"
}]
Následující příklad ukazuje schéma události vytvoření snímku:
[{
"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"
}]
Následující příklad ukazuje schéma události změny snímku:
[{
"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"
}]
Další informace naleznete v tématu Aplikace Azure Schématu událostí konfigurace.
Postupy pro využívání událostí
Aplikace, které zpracovávají události služby App Configuration, by měly postupovat podle těchto doporučených postupů:
- Pro směrování událostí do stejné obslužné rutiny události je možné nakonfigurovat více odběrů, takže nepředpokládáte, že události pocházejí z určitého zdroje. Místo toho zkontrolujte téma zprávy a ujistěte se, že instance konfigurace aplikace odesílá událost.
- Zkontrolujte a
eventType
nepředpokládáte, že všechny události, které obdržíte, budou typy, které očekáváte. etag
Pomocí polí můžete zjistit, jestli jsou vaše informace o objektech stále aktuální.- Pomocí polí sequenceru můžete porozumět pořadí událostí u libovolného konkrétního objektu.
- Pole předmětu použijte pro přístup k změněné hodnotě klíče.
Další kroky
Další informace o Event Gridu a poskytnutí událostí konfigurace Aplikace Azure zkuste: