Reagowanie na zdarzenia konfiguracji aplikacja systemu Azure
aplikacja systemu Azure Zdarzenia konfiguracji umożliwiają aplikacjom reagowanie na zmiany w wartościach kluczy. Odbywa się to bez konieczności wykonywania skomplikowanych kodów lub kosztownych i nieefektywnych usług sondowania. Zamiast tego zdarzenia są wypychane przez usługę Azure Event Grid do subskrybentów, takich jak Azure Functions, Azure Logic Apps, a nawet do własnego niestandardowego odbiornika HTTP. Krytycznie płacisz tylko za to, czego używasz.
aplikacja systemu Azure Zdarzenia konfiguracji są wysyłane do usługi Azure Event Grid, która zapewnia niezawodne usługi dostarczania do aplikacji za pośrednictwem zaawansowanych zasad ponawiania prób i dostarczania utraconych komunikatów. Aby uzyskać więcej informacji, zobacz Dostarczanie komunikatów usługi Event Grid i ponawianie próby.
Typowe scenariusze zdarzeń usługi App Configuration obejmują odświeżanie konfiguracji aplikacji, wyzwalanie wdrożeń lub dowolny przepływ pracy zorientowany na konfigurację. Gdy zmiany są rzadkie, ale twój scenariusz wymaga natychmiastowego reagowania, architektura oparta na zdarzeniach może być szczególnie wydajna.
Zapoznaj się z artykułem Używanie usługi Event Grid na potrzeby powiadomień o zmianie danych, aby zapoznać się z szybkim przykładem.
Dostępne typy zdarzeń
Usługa Event Grid używa subskrypcji zdarzeń do kierowania komunikatów zdarzeń do subskrybentów. aplikacja systemu Azure Configuration emituje następujące typy zdarzeń:
Typ zdarzenia | opis |
---|---|
Microsoft.AppConfiguration.KeyValueModified | Wywoływane po utworzeniu lub zastąpieniu wartości klucza. |
Microsoft.AppConfiguration.KeyValueDeleted | Zgłaszane po usunięciu wartości klucza. |
Microsoft.AppConfiguration.SnapshotCreated | Wywoływane po utworzeniu migawki. |
Microsoft.AppConfiguration.SnapshotModified | Wywoływane po zmodyfikowaniu migawki. |
Schemat zdarzeń
Zdarzenie ma następujące dane najwyższego poziomu:
Właściwość | Type | opis |
---|---|---|
source |
string | Pełna ścieżka zasobu do źródła zdarzeń. To pole nie jest możliwe do zapisu. Ta wartość jest podawana przez usługę Event Grid. |
subject |
string | Zdefiniowana przez wydawcę ścieżka do tematu zdarzenia. |
type |
string | Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń. |
time |
string | Czas generowania zdarzenia na podstawie czasu UTC dostawcy. |
id |
string | Unikatowy identyfikator zdarzenia. |
data |
obiekt | Dane zdarzeń usługi App Configuration. |
specversion |
string | Wersja specyfikacji schematu CloudEvents. |
Obiekt danych ma następujące właściwości:
Zdarzenie klucz-wartość
Właściwość | Type | opis |
---|---|---|
key |
string | Klucz klucz-wartość, który został zmodyfikowany lub usunięty. |
label |
string | Etykieta , jeśli istnieje, wartości klucza, która została zmodyfikowana lub usunięta. |
etag |
string | Dla KeyValueModified elementu etag nowego klucza-wartość. Dla KeyValueDeleted elementu etag usuniętej wartości klucza. |
syncToken |
string | Token synchronizacji reprezentujący stan serwera po zdarzeniu klucz-wartość. |
Zdarzenie migawki
Właściwość | Type | opis |
---|---|---|
name |
string | Nazwa migawki, która została utworzona lub zmodyfikowana. |
etag |
string | W przypadku SnapshotCreated elementu etag nowej migawki. Dla SnapshotModified elementu etag migawki, która została zmodyfikowana. |
syncToken |
string | Token synchronizacji reprezentujący stan serwera po zdarzeniu migawki. |
Przykładowe zdarzenie
W poniższym przykładzie przedstawiono schemat zdarzenia zmodyfikowanego przez klucz-wartość:
[{
"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"
}]
W poniższym przykładzie przedstawiono schemat zdarzenia usuniętego klucza:
[{
"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"
}]
Poniższy przykład przedstawia schemat utworzonego zdarzenia migawki:
[{
"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"
}]
Poniższy przykład przedstawia schemat zdarzenia zmodyfikowanego migawki:
[{
"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"
}]
Aby uzyskać więcej informacji, zobacz aplikacja systemu Azure Schemat zdarzeń konfiguracji.
Praktyki dotyczące korzystania ze zdarzeń
Aplikacje obsługujące zdarzenia usługi App Configuration powinny postępować zgodnie z następującymi zalecanymi rozwiązaniami:
- Wiele subskrypcji można skonfigurować pod kątem kierowania zdarzeń do tej samej procedury obsługi zdarzeń, więc nie zakładaj, że zdarzenia pochodzą z określonego źródła. Zamiast tego sprawdź temat komunikatu, aby upewnić się, że wystąpienie usługi App Configuration wysyła zdarzenie.
- Sprawdź , i nie zakładaj
eventType
, że wszystkie otrzymane zdarzenia będą typami, których oczekujesz. etag
Użyj pól, aby dowiedzieć się, czy informacje o obiektach są nadal aktualne.- Użyj pól programu Sequencer, aby zrozumieć kolejność zdarzeń dla dowolnego określonego obiektu.
- Użyj pola tematu, aby uzyskać dostęp do zmodyfikowanej wartości klucza.
Następne kroki
Aby dowiedzieć się więcej o usłudze Event Grid i nadać aplikacja systemu Azure zdarzeń konfiguracji, zobacz: