Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
События конфигурации приложений Azure позволяют приложениям реагировать на изменения в значениях ключей. Это делается без необходимости в сложном коде или дорогостоящих и неэффективных службах опроса. Вместо этого события передаются через сетку событий Azure подписчикам, таким как Функции Azure, Azure Logic Apps или даже собственный прослушиватель HTTP. Критически важно, вы платите только за то, что вы используете.
События конфигурации приложений Azure отправляются в сетку событий Azure, которая предоставляет надежные службы доставки приложениям с помощью расширенных политик повторных попыток и доставки недоставленных писем. Дополнительные сведения см. в разделе Доставка и повторные попытки доставки сообщений сетки событий.
Распространенные сценарии событий конфигурации приложений включают обновление конфигурации приложения, активацию развертываний или любой ориентированный на конфигурацию рабочий процесс. Если изменения нечасто, но в вашем сценарии требуется немедленное реагирование, архитектура на основе событий может быть особенно эффективной.
Ознакомьтесь с кратким примером использования службы "Сетка событий" для уведомлений об изменении данных .
Доступные типы событий
Служба "Сетка событий" использует подписки на события для маршрутизации сообщений о событиях подписчикам. Конфигурация приложений Azure выдает следующие типы событий:
| Тип события | Description |
|---|---|
| Microsoft.AppConfiguration.KeyValueModified | Вызывается при создании или замене значения ключа. |
| Microsoft.AppConfiguration.KeyValueDeleted | Вызывается при удалении значения ключа. |
| Microsoft.AppConfiguration.SnapshotCreated | Вызывается при создании моментального снимка. |
| Microsoft.AppConfiguration.SnapshotModified | Вызывается при изменении моментального снимка. |
Схема событий
Событие содержит следующие данные верхнего уровня:
| Недвижимость | Тип | Description |
|---|---|---|
source |
струна | Полный путь к источнику событий. Это поле не может быть записано. Сетка событий предоставляет это значение. |
subject |
струна | Определяемый издателем путь к теме события. |
type |
струна | Один из зарегистрированных типов событий для этого источника событий. |
time |
струна | Время создания события на основе времени UTC поставщика. |
id |
струна | Уникальный идентификатор события. |
data |
объект | Данные события конфигурации приложений. |
specversion |
струна | Версия спецификации схемы CloudEvents. |
Объект данных имеет следующие свойства:
Событие key-value
| Недвижимость | Тип | Description |
|---|---|---|
key |
струна | Ключ значения ключа, который был изменен или удален. |
label |
струна | Метка, если она есть, значения ключа, измененного или удаленного. |
etag |
струна | Для KeyValueModified etag нового ключа-значения. Для KeyValueDeleted etag удаленного значения ключа. |
syncToken |
струна | Маркер синхронизации, представляющий состояние сервера после события key-value. |
Событие моментального снимка
| Недвижимость | Тип | Description |
|---|---|---|
name |
струна | Имя созданного или измененного моментального снимка. |
etag |
струна | Для SnapshotCreated etag нового моментального снимка. Для SnapshotModified etag моментального снимка, который был изменен. |
syncToken |
струна | Маркер синхронизации, представляющий состояние сервера после события моментального снимка. |
Пример события
В следующем примере показана схема измененного события key-value:
[{
"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"
}]
В следующем примере показана схема удаленного события key-value:
[{
"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"
}]
В следующем примере показана схема созданного события создания моментального снимка:
[{
"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"
}]
В следующем примере показана схема измененного события моментального снимка:
[{
"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"
}]
Дополнительные сведения см. в схеме событий конфигурации приложений Azure.
Рекомендации по использованию событий
Приложения, обрабатывающие события конфигурации приложений, должны соблюдать следующие рекомендации.
- Несколько подписок можно настроить для маршрутизации событий в один обработчик событий, поэтому не предполагается, что события находятся из определенного источника. Вместо этого проверьте раздел сообщения, чтобы убедиться, что экземпляр конфигурации приложений отправляет событие.
-
eventTypeПроверьте и не предполагайте, что все полученные события будут ожидаемыми типами. -
etagИспользуйте поля, чтобы понять, up-toли данные о объектах по-прежнему up-to-date. - Используйте поля последовательности, чтобы понять порядок событий для любого конкретного объекта.
- Используйте поле субъекта для доступа к измененному значению ключа.
Дальнейшие шаги
Дополнительные сведения о службе "Сетка событий" и о том, как предоставить события конфигурации приложений Azure, см. в следующей статье: