Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом быстром старте вы используете Azure CLI для создания пользовательской темы в Сетка событий Azure, подписываетесь на пользовательскую тему и запускаете примерное событие для просмотра результата.
Как правило, события отправляются на конечную точку, которая обрабатывает данные событий и выполняет соответствующие действия. Однако, чтобы упростить этот быстрый старт, вы отправляете примеры событий в веб-приложение, которое собирает и отображает сообщения. Когда вы закончите, вы видите данные события в веб-приложении, как показано на следующем изображении:
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Предварительные требования
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для этого быстрого запуска требуется версия версии 2.0.70 или более поздней версии Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
- Если вы впервые работаете с Сетка событий Azure, перед началом этого краткого руководства ознакомьтесь с What's Сетка событий Azure, чтобы получить общее представление о службе.
Создайте группу ресурсов
Темы Event Grid — это ресурсы Azure, которые необходимо разместить в группе ресурсов Azure. Группа ресурсов — это логическая коллекция, в которую вы развёртаете и управляете ресурсами Azure.
Создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем gridResourceGroup в расположении westus2. Если хотите, смените название группы ресурсов и местоположение.
az group create --name gridResourceGroup --location westus2
Включить поставщика ресурсов Event Grid
Если это первый раз, когда вы используете Event Grid в подписке Azure, может потребоваться зарегистрировать поставщика ресурсов Event Grid. Выполните следующую команду для регистрации поставщика:
az provider register --namespace Microsoft.EventGridРегистрация может занять некоторое время. Чтобы проверить состояние, выполните следующую команду:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Когда состояние
registrationStateизменится наRegistered, вы сможете продолжить работу.
Создание пользовательской темы
Раздел сетки событий содержит определяемую пользователем конечную точку, в которой можно размещать свои события. Следующий пример создаёт пользовательскую тему в вашей группе ресурсов с помощью Bash в Azure Cloud Shell. Замените <your-topic-name> уникальным именем для вашей темы. Имя настраиваемого раздела должно быть уникальным, так как оно является частью записи системы доменных имен (DNS). Кроме того, он должен составлять от 3 до 50 символов и содержать только значения a-z, A-Z, 0-9 и «-»
Скопируйте следующую команду, укажите имя для темы и выберите Enter для выполнения команды.
topicname=<your-topic-name>Используйте команду
az eventgrid topic createдля создания пользовательской темы.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Создание конечной точки сообщения
Прежде чем подписаться на пользовательскую тему, создайте конечную точку для сообщения о событии. Обычно конечная точка выполняет действия на основе данных событий. Чтобы упростить этот быстрый старт, разверните готовое веб-приложение , показывающее сообщения событий. Развернутое решение содержит план службы приложений, веб-приложение службы приложений и исходный код из GitHub.
Скопируйте следующую команду, укажите имя для веб-приложения (пример Event Grid Viewer) и выберите Enter , чтобы выполнить команду. Замените
<your-site-name>уникальным именем для вашего веб-приложения. Имя веб-приложения должно быть уникальным, так как оно включается в запись DNS.sitename=<your-site-name>Запустите
az deployment group createдля развертывания веб-приложения с помощью шаблона Azure Resource Manager.az deployment group create \ --resource-group gridResourceGroup \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \ --parameters siteName=$sitename hostingPlanName=viewerhost
Завершение развертывания может занять несколько минут. После успешного развертывания просмотрите веб-приложение, чтобы убедиться, что оно запущено. Откройте браузер и перейдите по адресу https://<your-site-name>.azurewebsites.net.
На сайте не должно отображаться никаких сообщений.
Подпишитесь на пользовательскую тему
Вы подписываетесь на раздел "Сетка событий", чтобы сообщить сетке событий, какие события нужно отслеживать и куда отправлять эти события. В следующем примере создается подписка на созданный пользовательский раздел и передается URL-адрес веб-приложения в качестве конечной точки для уведомления о событиях.
Конечная точка веб-приложения должна содержать суффикс /api/updates/.
Скопируйте следующую команду, замените
$sitenameимя веб-приложения, созданного на предыдущем этапе, и выберите Enter , чтобы выполнить команду.endpoint=https://$sitename.azurewebsites.net/api/updatesВыполните следующую команду, чтобы получить идентификатор ресурса созданного раздела.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Выполните следующую команду, чтобы создать подписку на пользовательский раздел с помощью конечной точки.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointТеперь снова откройте веб-приложение и убедитесь, что оно успешно получило отправленное событие подтверждения подписки. Щелкните значок с изображением глаза, чтобы развернуть данные события. Сетка событий отправляет событие подтверждения, чтобы конечная точка могла подтвердить, что она готова получать данные события. Веб-приложение содержит код для проверки подписки.
Отправьте событие в настраиваемую тему
Давайте вызовем событие, чтобы увидеть, как служба Event Grid доставляет сообщение в вашу конечную точку. Сначала получите URL-адрес и ключ для настраиваемой темы.
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Чтобы упростить этот быстрый старт, используйте примеры данных событий для отправки в пользовательскую тему. Как правило, приложение или служба Azure отправляет данные события. В следующем примере создается образец данных о событии:
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
Элемент data в JSON — это полезная нагрузка вашего события. В это поле можно поместить любой корректно сформированный JSON. Кроме того, можно использовать поле темы для дополнительной маршрутизации и фильтрации.
cURL — это утилита, которая отправляет HTTP-запросы. В этом быстром старте используйте cURL, чтобы отправить событие в тему.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Вы активировали событие, а сетка событий отправила сообщение в конечную точку, настроенную при подписке. Откройте веб-приложение и просмотрите в нем отправленные события.
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventGrid/topics/{topic}"
}]
Очистка ресурсов
Если вы планируете продолжать работать с этим событием или приложением просмотра событий, не убирайте ресурсы, которые вы создали в этом быстром старте. В противном случае используйте следующую команду, чтобы удалить ресурсы, созданные в этом быстром старте.
az group delete --name gridResourceGroup --yes --no-wait
Связанные материалы
Теперь, когда вы знаете, как создавать темы и подписки на события, ознакомьтесь с дополнительными сведениями о сетке событий, которые могут помочь вам:
- An introduction to Azure Event Grid (Общие сведения о службе "Сетка событий Azure")
- Направьте события хранилища BLOB-объектов в пользовательскую веб-конечную точку
- Передавайте большие данные в хранилище данных
Чтобы узнать о публикации событий и потреблении событий из Event Grid на различных языках программирования, посмотрите следующие примеры: