Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы используете Azure CLI для создания настраиваемого раздела Сетки событий и подписки Центров событий для этого раздела. Затем вы отправляете примеры событий в пользовательский раздел и убедитесь, что эти события доставляются в концентратор событий.
Сетка событий Azure — это высокомасштабируемый и бессерверный брокер событий, который можно использовать для интеграции приложений с помощью событий. Служба "Сетка событий" предоставляет события поддерживаемым обработчикам событий, таким как Центры событий Azure. Обработчики событий.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Создание или изменение группы ресурсов
Разделы сетки событий — это ресурсы Azure. Создайте их в группе ресурсов Azure. Группа ресурсов — это логическая коллекция, в которой ресурсы Azure развертываются и управляются.
Создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем gridResourceGroup в расположении именем westus2.
Выберите Open Cloud Shell, чтобы открыть Azure Cloud Shell на правой панели. Нажмите кнопку "Копировать ", чтобы скопировать команду, вставьте ее в Cloud Shell и нажмите клавишу ВВОД , чтобы выполнить команду.
az group create --name gridResourceGroup --location westus2
Включение поставщика ресурсов службы "Сетка событий"
Если это первый раз, когда вы используете Event Grid в подписке Azure, может потребоваться зарегистрировать поставщика ресурсов Event Grid. Выполните следующую команду для регистрации поставщика:
az provider register --namespace Microsoft.EventGridРегистрация может занять некоторое время. Чтобы проверить состояние, выполните следующую команду:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Когда состояние
registrationStateизменится наRegistered, вы сможете продолжить работу.
Создание пользовательской темы
Раздел сетки событий содержит определяемую пользователем конечную точку, в которой можно размещать свои события. В приведенном ниже примере создается пользовательский раздел в вашей группе ресурсов.
Замените <TOPIC NAME> уникальным именем для вашего пользовательского раздела. Имя раздела сетки событий должно быть уникальным, так как запись системы доменных имен (DNS) представляет ее.
Укажите имя раздела:
topicname="<TOPIC NAME>"Выполните следующую команду, чтобы создать раздел:
az eventgrid topic create --name $topicname --location westus2 --resource-group gridResourceGroup
Создание концентратора событий
Перед подпиской на пользовательский раздел создайте конечную точку для сообщения о событии. Концентратор событий создается для сбора событий.
Укажите уникальное имя пространства имен Центров событий:
namespace="<EVENT HUBS NAMESPACE NAME>"Выполните следующие команды, чтобы создать пространство имен Центров событий и концентратор событий, именованный
demohubв этом пространстве имен:hubname=demohub az eventhubs namespace create --name $namespace --resource-group gridResourceGroup az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
Создание подписки на события пользовательского раздела
Вы подписываетесь на раздел "Сетка событий", чтобы сообщить сетке событий, какие события нужно отслеживать. Следующий пример подписывается на созданный пользовательский раздел. Он передает идентификатор ресурса концентратора событий для конечной точки. Конечная точка находится в следующем формате:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>
Следующий скрипт получает идентификатор ресурса для концентратора событий и подписывается на раздел сетки событий. В нем также задается тип eventhub для конечной точки и используется идентификатор концентратора событий для нее.
hubid=$(az eventhubs eventhub show --name $hubname --namespace-name $namespace --resource-group gridResourceGroup --query id --output tsv)
topicid=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name subtoeventhub \
--endpoint-type eventhub \
--endpoint $hubid
Учетная запись, которая создает подписку на события, должна иметь доступ на запись в концентратор событий.
Отправка события в пользовательский раздел
Активируйте событие, чтобы увидеть, как сетка событий распространяет сообщение в конечную точку. Сначала получите 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 отправляют данные о событии.
Средство cURL отправляет HTTP-запросы. В этой статье вы используете cURL для отправки события в пользовательский раздел. В следующем примере три события отправляются в раздел "Сетка событий".
for i in 1 2 3
do
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"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
На портале Azure на странице Обзор пространства имен Центров событий показано, что Event Grid отправила эти три события в концентратор событий. На странице обзора.
Как правило, создается приложение, которое извлекает сообщения о событиях из концентратора событий. Дополнительные сведения см. в разделе:
- Отправка событий в Центры событий Azure и получение событий с помощью .NET
- Получение событий из Центры событий Azure с помощью Java
- Получение событий из Центров событий с помощью Apache Storm
Очистка ресурсов
Если вы планируете продолжить работу с этим пользовательским разделом и подпиской, не удаляйте ресурсы, созданные в этой статье. В противном случае используйте следующую команду, чтобы удалить ресурсы:
az group delete --name gridResourceGroup
Связанный контент
Теперь, когда вы знаете, как создавать темы и подписки на события, ознакомьтесь с дополнительными сведениями о сетке событий, которые могут помочь вам:
- An introduction to Azure Event Grid (Общие сведения о службе "Сетка событий Azure")
- Маршрутизация событий Хранилище BLOB-объектов Azure в пользовательскую веб-конечную точку
- Monitor virtual machine changes with Azure Event Grid and Logic Apps (Отслеживание изменений виртуальной машины с помощью Azure Logic Apps и службы "Сетка событий Azure")
- Перенос данных, полученных с помощью Event Hubs, из Azure Storage в Azure Synapse Analytics
Сведения о публикации событий и использовании событий из сетки событий с помощью различных языков программирования см. в следующих примерах: