Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste quickstart, você usa a CLI do Azure para criar um tópico personalizado no Grade de Eventos do Azure, assinar o tópico personalizado e acionar um evento de exemplo para visualizar o resultado.
Normalmente, você envia eventos para um ponto de extremidade que processa os dados de evento e realiza ações. No entanto, para simplificar esse início rápido, você envia eventos de exemplo para um aplicativo web que coleta e exibe as mensagens. Quando você termina, verá os dados do evento no aplicativo web, conforme mostrado na imagem a seguir:
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este início rápido requer a versão 2.0.70 ou posterior da CLI do Azure. Se você usar o Azure Cloud Shell, a versão mais recente já está instalada.
- Se você é novo no Grade de Eventos do Azure, veja What's Grade de Eventos do Azure para uma visão geral do serviço antes de iniciar este quickstart.
Criar um grupo de recursos
Tópicos de Grade de Eventos são recursos do Azure que você deve colocar em um grupo de recursos do Azure. O grupo de recursos é uma coleção lógica na qual você implanta e gerencia recursos do Azure.
Crie um grupo de recursos com o comando az group create. O exemplo a seguir cria um grupo de recursos chamado gridResourceGroup no local westus2. Mude o nome do grupo de recursos e a localização, se quiser.
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 registrar o provedor:
az provider register --namespace Microsoft.EventGridA conclusão do registro pode demorar um pouco. Para verificar o status, execute o seguinte comando:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Quando
registrationStateforRegistered, você 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 a seguir cria o tópico personalizado no seu grupo de recursos usando o Bash no Azure Cloud Shell. Substitua <your-topic-name> por um nome exclusivo para o tópico. O nome do tópico personalizado deve ser exclusivo porque faz parte da entrada do Sistema de Nomes de Domínio (DNS). Além disso, deve ter entre 3 e 50 caracteres e conter apenas os valores a-z, A-Z, 0-9 e "-"
Copie o comando a seguir, especifique um nome para o tópico e selecione Enter para executar o comando.
topicname=<your-topic-name>Use o comando
az eventgrid topic createpara criar um tópico personalizado.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Criar um endpoint de mensagem
Antes de assinar o tópico personalizado, crie o ponto de extremidade para a mensagem de evento. Normalmente, o endpoint executa ações com base nos dados do evento. Para simplificar esse quickstart, implante um aplicativo web pré-construído que mostre as mensagens do evento. A solução implantada inclui um plano do App Service, um aplicativo Web do App Service e o código-fonte do GitHub.
Copie o comando a seguir, especifique um nome para o aplicativo web (exemplo do Visualizador de Grade de Eventos) e selecione Enter para executar o comando. Substitua
<your-site-name>por um nome exclusivo para o aplicativo Web. O nome do aplicativo Web deve ser exclusivo, pois é parte de uma entrada DNS.sitename=<your-site-name>Execute o
az deployment group createpara implantar o aplicativo web usando um template do 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
A implantação pode levar alguns minutos para ser concluída. Depois que a implantação for bem-sucedida, visualize seu aplicativo Web para ter certeza de que ele está em execução. Em um navegador da Web, navegue até: https://<your-site-name>.azurewebsites.net
Você deve ver o site sem mensagens exibidas.
Assinar um tópico personalizado
Você assina um tópico da Grade de Eventos para indicar à Grade de Eventos quais eventos você deseja acompanhar e para onde enviá-los. O exemplo a seguir assina o tópico personalizado que você criou e transmite a URL do seu aplicativo Web como o ponto de extremidade para notificação de eventos.
O endpoint para o seu aplicativo web deve incluir o sufixo /api/updates/.
Copie o comando a seguir, substitua
$sitenamepelo nome do aplicativo web que você criou na etapa anterior e selecione Enter para executar o comando.endpoint=https://$sitename.azurewebsites.net/api/updatesExecute o comando a seguir para obter a ID do recurso do tópico que você criou.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Execute o comando a seguir para criar uma assinatura para o tópico personalizado usando o endpoint.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointExiba novamente o seu aplicativo Web e observe que um evento de validação de assinatura foi enviado a ele. Selecione o ícone de olho para expandir os dados de evento. O Event Grid envia o evento de validação para que o endpoint possa verificar se deseja receber dados de eventos. O aplicativo Web inclui o código para validar a assinatura.
Enviar um evento para o tópico personalizado
Vamos disparar um evento para ver como o Event Grid distribui a mensagem para o seu endpoint. Primeiro, obtenha a URL e a chave para o tópico personalizado.
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)
Para simplificar esse quickstart, use dados de eventos de exemplo para enviar ao tópico personalizado. Normalmente, um aplicativo ou serviço do Azure envia os dados do evento. O exemplo a seguir cria dados de exemplo de evento:
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"} ]'
O elemento data do JSON é a carga do evento. Qualquer JSON bem formado pode ser inserido neste campo. Você também pode usar o campo de assunto para roteamento e filtragem avançados.
cURL é uma ferramenta que envia requisições HTTP. Neste guia de início rápido, use o cURL para enviar o evento ao tópico.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Você disparou o evento, e o Event Grid enviou a mensagem para o ponto de extremidade que você configurou ao se inscrever. Exiba seu aplicativo Web para ver o evento que você acabou de enviar.
[{
"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}"
}]
Limpar os recursos
Se você planeja continuar trabalhando com este evento ou com o aplicativo de exibição de eventos, não limpe os recursos que criou neste início rápido. Caso contrário, use o comando a seguir para excluir os recursos que você criou neste início rápido.
az group delete --name gridResourceGroup --yes --no-wait
Conteúdo relacionado
Agora que você sabe como criar tópicos e assinaturas de evento, saiba mais sobre como a Grade de Eventos pode ajudá-lo:
- Sobre o Event Grid
- Encaminhar eventos do armazenamento de Blobs para um endpoint da Web personalizado
- Transmitir Big Data para um data warehouse
Para aprender sobre como publicar eventos e consumir eventos do Event Grid em diferentes linguagens de programação, veja os exemplos a seguir: