Reagieren auf Azure App Configuration-Ereignisse
Azure App Configuration-Ereignisse ermöglichen es Anwendungen, auf Schlüssel-Wert-Änderungen zu reagieren – ganz ohne komplizierten Code oder teure und ineffiziente Abrufdienste. Stattdessen werden Ereignisse über Azure Event Grid an Abonnenten wie Azure Functions, Azure Logic Apps oder sogar Ihren eigenen benutzerdefinierten HTTP-Listener gepusht. Vor allem bezahlen Sie nur für die tatsächliche Nutzung.
Azure App Configuration-Ereignisse werden an den Azure Event Grid-Dienst gesendet, der dank umfangreicher Wiederholungsrichtlinien und der Zustellung unzustellbarer Nachrichten zuverlässige Zustelldienste für Ihre Anwendungen bietet. Weitere Informationen finden Sie unter Event Grid – Nachrichtenübermittlung und -wiederholung.
Zu gängigen Szenarien mit App-Konfigurationsereignissen zählen beispielsweise das Aktualisieren der Anwendungskonfiguration, das Auslösen von Bereitstellungen sowie andere konfigurationsorientierte Workflows. Wenn Änderungen selten sind, aber Ihr Szenario die sofortige Reaktion erfordert, kann die ereignisbasierte Architektur besonders effizient sein.
Ein kurzes Beispiel finden Sie unter Verwenden von Event Grid für Benachrichtigungen bei Änderungen von Daten.
Verfügbare Ereignistypen
Event Grid verwendet Ereignisabonnements zum Weiterleiten von Ereignisnachrichten an Abonnenten. Azure App Configuration gibt die folgenden Ereignistypen aus:
Ereignistyp | BESCHREIBUNG |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Wird ausgelöst, wenn ein Schlüssel-Wert-Paar erstellt oder ersetzt wird. |
Microsoft.AppConfiguration.KeyValueDeleted | Wird ausgelöst, wenn ein Schlüssel-Wert-Paar gelöscht wird. |
Microsoft.AppConfiguration.SnapshotCreated | Wird ausgelöst, wenn eine Momentaufnahme erstellt wird. |
Microsoft.AppConfiguration.SnapshotModified | Wird ausgelöst, wenn eine Momentaufnahme geändert wird. |
Ereignisschema
Ein Ereignis weist die folgenden Daten auf oberster Ebene aus:
Eigenschaft | Typ | Beschreibung |
---|---|---|
source |
Zeichenfolge | Vollständiger Ressourcenpfaf zur Ereignisquelle. Dieses Feld ist nicht beschreibbar. Dieser Wert wird von Event Grid bereitgestellt. |
subject |
Zeichenfolge | Vom Herausgeber definierter Pfad zum Ereignisbetreff |
type |
Zeichenfolge | Einer der registrierten Ereignistypen für die Ereignisquelle. |
time |
Zeichenfolge | Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeit des Anbieters. |
id |
Zeichenfolge | Eindeutiger Bezeichner für das Ereignis. |
data |
Objekt (object) | App Configuration-Ereignisdaten. |
specversion |
Zeichenfolge | Version der CloudEvents-Schemaspezifikation. |
Das Datenobjekt weist die folgenden Eigenschaften auf:
Schlüssel-Wert-Ereignis
Eigenschaft | Typ | Beschreibung |
---|---|---|
key |
Zeichenfolge | Der Schlüssel des Schlüssel-Wert-Paars, das geändert oder gelöscht wurde. |
label |
Zeichenfolge | Die Bezeichnung (sofern vorhanden) des Schlüssel-Wert-Paars, das geändert oder gelöscht wurde. |
etag |
Zeichenfolge | Für KeyValueModified : Das ETag des neuen Schlüssel-Wert-Paars. Für KeyValueDeleted : Das ETag des gelöschten Schlüssel-Wert-Paars. |
syncToken |
Zeichenfolge | Das Synchronisierungstoken, das den Serverstatus nach dem Schlüsselwertereignis darstellt. |
Momentaufnahmenereignis
Eigenschaft | Typ | Beschreibung |
---|---|---|
name |
string | Der Name der Momentaufnahme, die erstellt oder geändert wurde. |
etag |
Zeichenfolge | Für SnapshotCreated das Etag der neuen Momentaufnahme. Für SnapshotModified das Etag der Momentaufnahme, die geändert wurde. |
syncToken |
Zeichenfolge | Das Synchronisierungstoken, das den Serverstatus nach dem Momentaufnahme-Ereignis darstellt. |
Beispielereignis
Das folgende Beispiel zeigt das Schema eines Ereignisses aufgrund eines geänderten Schlüssel-Wert-Paars:
[{
"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"
}]
Das folgende Beispiel zeigt das Schema eines Ereignisses aufgrund eines gelöschten Schlüssel-Wert-Paars:
[{
"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"
}]
Das folgende Beispiel zeigt das Schema eines erstellten Momentaufnahme-Ereignis:
[{
"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"
}]
Das folgende Beispiel zeigt das Schema eines geänderten Momentaufnahme-Ereignis:
[{
"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"
}]
Weitere Informationen finden Sie unter Azure Event Grid-Ereignisschema für Azure App Configuration.
Methoden zum Nutzen von Ereignissen
Anwendungen, die App Configuration-Ereignisse behandeln, sollten diese empfohlenen Methoden verwenden:
- Mehrere Abonnements können zum Weiterleiten von Ereignissen an denselben Ereignishandler konfiguriert werden. Gehen Sie daher nicht davon aus, dass Ereignisse aus einer bestimmten Quelle stammen. Überprüfen Sie stattdessen das Thema der Nachricht, um sicherzustellen, dass die App Configuration-Instanz das Ereignis sendet.
- Überprüfen Sie
eventType
, und gehen Sie nicht davon aus, dass alle Ereignisse, die Sie erhalten, den von Ihnen erwarteten Typen entsprechen. - Verwenden Sie die
etag
-Felder, um zu erfahren, ob Ihre Informationen zu Objekten noch auf dem aktuellen Stand sind. - Verwenden Sie die sequencer-Felder, um die Reihenfolge der Ereignisse für ein bestimmtes Objekt zu verstehen.
- Verwenden Sie das subject-Feld, um auf das geänderte Schlüssel-Wert-Paar zuzugreifen.
Nächste Schritte
Um mehr über Event Grid zu erfahren und Azure App Configuration-Ereignisse auszuprobieren, informieren Sie sich unter: