Публикация событий в пользовательских разделах службы "Сетка событий Azure" с помощью ключей доступа
В этой статье объясняется, как опубликовать событие в пользовательском разделе с помощью ключа доступа. В ней также представлен формат записей и данные событий. Соглашение об уровне обслуживания (SLA) применяется только к записям, которые соответствуют ожидаемому формату.
Примечание.
Проверка подлинности Microsoft Entra обеспечивает более высокую поддержку проверки подлинности, чем это предоставляется ключом доступа или проверкой подлинности маркера ПОДПИСАННОГО URL-адреса (SAS). При проверке подлинности Microsoft Entra удостоверение проверяется с помощью поставщика удостоверений Microsoft Entra. Разработчику не придется обрабатывать ключи в коде, если вы используете проверку подлинности Microsoft Entra. Вы также сможете воспользоваться всеми функциями безопасности, встроенными в платформа удостоверений Майкрософт, такими как условный доступ, которые помогут улучшить позицию безопасности приложения. Дополнительные сведения см. в разделе "Проверка подлинности клиентов публикации с помощью идентификатора Microsoft Entra".
Конечная точка
При отправке запроса HTTP POST в пользовательский раздел используйте URI в таком формате: https://<topic-endpoint>?api-version=2018-01-01
. Например, допустимый URI — https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01
. Чтобы получить конечную точку для пользовательского раздела с помощью Azure CLI, используйте следующую команду:
Конечную точку раздела можно найти на вкладке "Обзор" страницы "Раздел сетки событий" в портал Azure.
Верхний колонтитул
Добавьте в запрос значение заголовка aeg-sas-key
, содержащее ключ для аутентификации. Например, допустимое значение заголовка — aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx
. Чтобы получить ключ для пользовательского раздела с помощью Azure CLI, используйте следующую команду:
Чтобы получить ключ доступа для настраиваемого раздела, выберите вкладку "Ключи доступа" на странице "Раздел сетки событий" в портал Azure.
Данные события
Для пользовательского раздела данные верхнего уровня должны содержать те же поля, что и стандартные определенные события ресурса. Одним из этих свойств является data
свойство, содержащее свойства, уникальные для пользовательского раздела. В качестве издателя событий вы определяете свойства этого объекта данных. Ниже приведена схема:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Описание этих свойств см. в статье Схема событий службы "Сетка событий Azure". Когда клиент отправляет события в раздел сетки событий, массив может иметь общий размер до 1 МБ. Максимально допустимый размер события также составляет 1 МБ. Плата за события свыше 64 КБ начисляется с приращением в 64 КБ. Когда клиент получает события в пакете, максимально допустимое количество событий составляет 5000 на пакет.
Ниже приведен пример допустимой схемы данных события:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Отправка примера события
В этом разделе показано, как отправить пример события в пользовательский раздел.
В портал Azure запустите Cloud Shell.
В Cloud Shell выполните команды из Azure PowerShell или Azure CLI в сеансе Bash или PowerShell .
Response
После отправки данных в конечную точку раздела вы получите ответ. Ответ — это стандартный код ответа HTTP. Ниже приведены некоторые распространенные ответы:
Результат | Response |
---|---|
Удачное завершение | 200 OK |
Неправильный формат данных события | 400 — недопустимый запрос |
Недопустимый ключ доступа | 401 — не авторизовано |
Неправильная конечная точка | 404 Не найдено |
Массив или событие превышает допустимый размер | 413 Полезные данные слишком велики |
Текст сообщений об ошибках имеет следующий формат:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Связанный контент
- Ознакомьтесь со сведениями о мониторинге доставки сообщений в службе "Сетка событий".
- Дополнительные сведения о ключе аутентификации см. в статье Сетка событий: безопасность и проверка подлинности.
- Дополнительные сведения о создании подписки на Сетку событий Azure см. в статье Схема подписки для службы "Сетка событий".