Sdílet prostřednictvím


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.

Diagram that shows Event Grid Model.

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/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"
  },
  "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/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"
  },
  "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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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 eventTypenepř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: