Sdílet prostřednictvím


Reakce na události Azure App Configuration

Události Azure App Configuration umožňují aplikacím reagovat na změny hodnot klíčů. 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.

Události služby Azure App Configuration 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 znázorňující model Služby Event Grid

Dostupné typy událostí

Event Grid používá odběry událostí ke směrování zpráv událostí odběratelům. Azure App Configuration generuje následující typy událostí:

Typ události Description
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ě:

Vlastnictví Typ Description
source řetězec Úplná cesta prostředku ke zdroji událostí. Toto pole není zapisovatelné. Event Grid tuto hodnotu poskytuje.
subject řetězec Cesta definovaná vydavatelem k předmětu události
type řetězec Jeden z registrovaných typů událostí pro tento zdroj událostí.
time řetězec Čas vygenerování události na základě času UTC poskytovatele.
id řetězec Jedinečný identifikátor události.
data objekt Data událostí konfigurace aplikace
specversion řetězec Verze specifikace schématu CloudEvents

Datový objekt má následující vlastnosti:

Událost klíč-hodnota

Vlastnictví Typ Description
key řetězec Klíč hodnoty klíče, která byla změněna nebo odstraněna.
label řetězec Popisek hodnoty klíče, který byl změněn nebo odstraněn.
etag řetězec U KeyValueModified značky nová klíč-hodnota. U KeyValueDeleted značky klíč-hodnota, která byla odstraněna.
syncToken řetězec Token synchronizace představující stav serveru po události klíč-hodnota.

Událost snímku

Vlastnictví Typ Description
name řetězec Název vytvořeného nebo upraveného snímku
etag řetězec Pro SnapshotCreated značku nového snímku. U SnapshotModified značky etag snímku, který byl změněn.
syncToken řetězec 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 najdete ve schématu událostí konfigurace aplikací Azure.

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 up-to-date.
  • 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 o vyzkoušení událostí služby Azure App Configuration najdete tady: