Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste início rápido, você usa a CLI do Azure para criar um tópico personalizado de Grade de Eventos e uma assinatura de Armazenamento de Fila para esse tópico. Em seguida, você envia eventos de exemplo para o tópico personalizado e verifica se esses eventos são entregues a uma fila.
A Grade de Eventos do Azure é um agente de eventos altamente escalável e sem servidor que você pode usar para integrar aplicativos por meio de eventos. Event Grid entrega eventos a manipuladores de eventos com suporte, como o armazenamento de filas do Azure. Para obter mais informações, consulte Manipuladores de eventos.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Criar um grupo de recursos
Os tópicos da Grade de Eventos são recursos do Azure. Coloque-os em um grupo de recursos do Azure. O grupo de recursos é uma coleção lógica na qual os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos com o comando az group create. O exemplo seguinte cria um grupo de recursos com o nome gridResourceGroup na localização westus2.
Selecione Open Cloud Shell para abrir o Azure Cloud Shell no painel direito. Selecione o botão Copiar para copiar o comando, cole-o no Cloud Shell e selecione a tecla Enter para executar o comando.
az group create --name gridResourceGroup --location westus2
Habilitar o provedor de recursos da Grade de Eventos
Se esta for a primeira vez que você estiver usando a Grade de Eventos em sua assinatura do Azure, talvez seja necessário registrar o provedor de recursos da Grade de Eventos. Execute o seguinte comando para registar o fornecedor:
az provider register --namespace Microsoft.EventGridPode demorar algum tempo até que o registo termine. Para verificar o status, execute o seguinte comando:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Quando
registrationStateestáRegistered, está pronto para continuar.
Criar um tópico personalizado
Um tópico de Grade de Eventos fornece um ponto de extremidade definido pelo usuário no qual você posta seus eventos. O exemplo seguinte cria o tópico personalizado no seu grupo de recursos.
Substitua <TOPIC NAME> por um nome exclusivo para o seu tópico personalizado. O nome do tópico Grade de Eventos deve ser exclusivo porque uma entrada DNS (Sistema de Nomes de Domínio) o representa.
Especifique um nome para o tópico:
topicname="<TOPIC NAME>"Execute o seguinte comando para criar o tópico:
az eventgrid topic create --name $topicname --location westus2 --resource-group gridResourceGroup
Criar uma fila
Antes de se inscrever no tópico personalizado, crie o ponto de extremidade para a mensagem do evento. Você cria uma fila para coletar os eventos.
Especifique um nome exclusivo para a conta de armazenamento do Azure:
storagename="<STORAGE ACCOUNT NAME>"Execute os seguintes comandos para criar uma conta de armazenamento e uma fila (chamada
eventqueue) no armazenamento:queuename="eventqueue" az storage account create --name $storagename --resource-group gridResourceGroup --location westus2 --sku Standard_LRS key="$(az storage account keys list --account-name $storagename --query "[0].{value:value}" --output tsv)" az storage queue create --name $queuename --account-name $storagename --account-key $key
Subscrever um tópico personalizado
O exemplo a seguir se inscreve no tópico personalizado que você criou. Passa o ID do recurso da fila para o ponto de extremidade. Com a CLI do Azure, você passa a ID da fila como o ponto de extremidade. O ponto de extremidade está neste formato:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/queueservices/default/queues/<QUEUE NAME>
O script seguinte obtém o ID do recurso da conta de armazenamento para a fila. Ele constrói a ID da fila e se inscreve em um tópico da Grade de Eventos. Define o tipo de ponto final storagequeue e utiliza o ID de fila para o ponto final.
Antes de executar o comando, substitua o espaço reservado para a data de expiração (<yyyy-mm-dd>) por um valor real para o ano, mês e dia.
storageid=$(az storage account show --name $storagename --resource-group gridResourceGroup --query id --output tsv)
queueid="$storageid/queueservices/default/queues/$queuename"
topicid=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name mystoragequeuesubscription \
--endpoint-type storagequeue \
--endpoint $queueid \
--expiration-date "<yyyy-mm-dd>"
A conta que cria a assinatura do evento deve ter acesso de gravação à fila. Uma data de expiração é definida para a assinatura.
Se você usar a API REST para criar a assinatura, passará a ID da conta de armazenamento e o nome da fila como um parâmetro separado:
"destination": {
"endpointType": "storagequeue",
"properties": {
"queueName":"eventqueue",
"resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>"
}
...
Enviar um evento para o tópico personalizado
Acione um evento para ver como a Grade de Eventos distribui a mensagem para seu ponto de extremidade. Primeiro, obtenha a URL e a chave para o tópico personalizado:
endpoint=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname --resource-group gridResourceGroup --query "key1" --output tsv)
Para simplificar, este artigo usa dados de exemplo de evento para enviar ao tópico personalizado. Normalmente, um aplicativo ou um serviço do Azure enviaria os dados do evento.
A ferramenta cURL envia solicitações HTTP. Neste artigo, você usa cURL para enviar o evento para o tópico personalizado. O exemplo a seguir envia três eventos para o tópico Event Grid:
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
Vá para a fila no portal do Azure para ver que o Event Grid enviou esses três eventos para a fila.
Clean up resources (Limpar recursos)
Se planeia continuar a trabalhar com este evento, não remova os recursos que criou neste artigo. Caso contrário, use o seguinte comando para excluir os recursos:
az group delete --name gridResourceGroup
Conteúdos relacionados
Agora que sabe como criar tópicos e subscrições de eventos, saiba mais sobre o que o Event Grid pode ajudá-lo a fazer:
- Sobre o Event Grid
- Encaminhar eventos do Armazenamento de Blobs do Azure para um ponto de extremidade da Web personalizado
- Monitorizar alterações de máquina virtual com o Azure Event Grid e Logic Apps
- Migrar os dados capturados dos Hubs de Eventos do Armazenamento do Azure para o Azure Synapse Analytics
Para saber mais sobre como publicar eventos e consumir eventos da Grade de Eventos usando várias linguagens de programação, consulte os seguintes exemplos: