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.

Diagram that shows Event Grid Model.

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/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"
}]

W poniższym przykładzie przedstawiono schemat zdarzenia usuniętego klucza:

[{
  "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"
}]

Poniższy przykład przedstawia schemat utworzonego zdarzenia migawki:

[{
  "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"
}]

Poniższy przykład przedstawia schemat zdarzenia zmodyfikowanego migawki:

[{
  "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"
}]

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: