Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste quickstart, usa a CLI do Azure para criar um tópico personalizado no Azure Event Grid, subscrever o tópico personalizado e ativar um evento de exemplo para visualizar o resultado.
Normalmente, envia eventos para um ponto final que processa os dados de eventos e efetua ações. No entanto, para simplificar este quickstart, envia eventos de exemplo para uma aplicação web que recolhe e exibe as mensagens. Quando terminar, vê os dados do evento na aplicação web, como mostrado na imagem seguinte:
Se 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 mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este quickstart requer a versão 2.0.70 ou posterior da CLI do Azure. Se você usa o Azure Cloud Shell, a versão mais recente já está instalada.
- Se és novo no Azure Event Grid, consulta What's Azure Event Grid para uma visão geral do serviço antes de começares este quickstart.
Criar um grupo de recursos
Os tópicos do Event Grid são recursos do Azure que deve colocar num grupo de recursos do Azure. O grupo de recursos é uma coleção lógica na qual se implementam e gerem recursos do Azure.
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. Muda o nome do grupo de recursos e a localização, se quiseres.
az group create --name gridResourceGroup --location westus2
Ativar o fornecedor de recursos do Event Grid
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 usando o Bash no Azure Cloud Shell. Substitua <your-topic-name> por um nome exclusivo para o seu tópico. O nome do tópico personalizado deve ser exclusivo porque faz parte da entrada DNS (Sistema de Nomes de Domínio). 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 seguinte, especifique um nome para o tópico e selecione Enter para executar o comando.
topicname=<your-topic-name>Use o
az eventgrid topic createcomando para criar um tópico personalizado.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Criar um ponto final de mensagem
Antes de subscrever o tópico personalizado, crie o ponto final para a mensagem de evento. Normalmente, o ponto final executa as ações com base nos dados do evento. Para simplificar este quickstart, implemente uma aplicação web pré-construída que mostre as mensagens do evento. A solução implementada inclui um plano do Serviço de Aplicações, uma aplicação Web do Serviço de Aplicações e o código de origem do GitHub.
Copie o seguinte comando, especifique um nome para a aplicação web (exemplo do Event Grid Viewer) e selecione Enter para executar o comando. Substitua
<your-site-name>por um nome exclusivo para a aplicação Web. O nome da aplicação Web deve ser exclusivo, porque faz parte da entrada DNS.sitename=<your-site-name>Execute o
az deployment group createpara implementar a aplicação web usando um modelo 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, exiba seu aplicativo Web para verificar se ele está em execução. Num navegador Web, aceda a: https://<your-site-name>.azurewebsites.net
Deverá ver o site sem apresentar mensagens.
Subscrever um tópico personalizado
Você se inscreve em um tópico da Grade de Eventos para informar à Grade de Eventos quais eventos deseja acompanhar e para onde enviar esses eventos. O exemplo seguinte subscreve o tópico personalizado que criou e passa o URL da sua aplicação web como ponto final para notificações de eventos.
O ponto final para a aplicação Web tem de incluir o sufixo /api/updates/.
Copie o comando seguinte, substitua
$sitenamepelo nome da aplicação web que criou no passo anterior e selecione Enter para executar o comando.endpoint=https://$sitename.azurewebsites.net/api/updatesExecute o seguinte comando 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 seguinte comando para criar uma assinatura do tópico personalizado usando o endpoint.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointVerifique a aplicação Web novamente e repare que um evento de validação de subscrição foi enviado para a mesma. Selecione o ícone do olho para expandir os dados do evento. O Event Grid envia o evento de validação para que o ponto final possa verificar que pretende receber dados de eventos. A aplicação Web inclui código para validar a subscrição.
Enviar um evento para o seu tópico personalizado
Vamos acionar um evento para ver como o Event Grid distribui a mensagem para o ponto final. Primeiro, obtenha o 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 este quickstart, use dados de eventos de exemplo para enviar ao tópico personalizado. Normalmente, uma aplicação ou serviço Azure envia os dados do evento. O exemplo seguinte cria dados do evento de exemplo:
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 é o payload do evento. Qualquer JSON bem formatado pode ser introduzido neste campo. Também pode utilizar o campo do assunto para encaminhamento e filtragem avançados.
o cURL é uma ferramenta que envia pedidos HTTP. Neste guia de início rápido, use o cURL para enviar o evento para o tópico.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Você disparou o evento e a Grade de Eventos enviou a mensagem para o ponto de extremidade que você configurou ao se inscrever. Consulte a aplicação web para ver o evento que 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 recursos
Se tenciona continuar a trabalhar com este evento ou com a aplicação Visualizador de Eventos, não limpe os recursos que criou neste início rápido. Caso contrário, use o comando seguinte para eliminar os recursos que criou neste início rápido.
az group delete --name gridResourceGroup --yes --no-wait
Conteúdo relacionado
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 de armazenamento de Blobs para um ponto final Web personalizado
- Transmitir macrodados em fluxo para um armazém de dados
Para aprender sobre a publicação de eventos e o consumo de eventos do Event Grid em diferentes linguagens de programação, veja os seguintes exemplos: