Tutorial: Encaminhe eventos personalizados para as Conexões Híbridas de Retransmissão do Azure com a CLI do Azure e a Grade de Eventos
A Grade de Eventos do Azure é um serviço de eventos para a nuvem. Conexões Híbridas de Retransmissão do Azure são um dos manipuladores de eventos com suporte. Você usa conexões híbridas como o manipulador de eventos quando precisa processar eventos de aplicativos que não têm um ponto de extremidade público. Esses aplicativos podem estar dentro de sua rede corporativa. Neste artigo, você usa a CLI do Azure para criar um tópico personalizado, assinar esse tópico e disparar o evento para exibir o resultado. Você envia os eventos para a conexão híbrida.
Pré-requisitos
- Este artigo pressupõe que você já tem uma conexão híbrida e um aplicativo de ouvinte. Para começar a usar conexões híbridas, consulte Introdução às Conexões Híbridas de Retransmissão - .NET ou Introdução às Conexões Híbridas de Retransmissão - Nó.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no 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 saber mais, 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 ver outras opções de entrada, confira Conectar-se com 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 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 artigo exige a versão 2.0.56 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar um grupo de recursos
Os tópicos de Grade de Eventos são recursos do Azure e devem ser colocados em um grupo de recursos do Azure. O grupo de recursos do Azure é 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 a seguir cria um grupo de recursos chamado gridResourceGroup no local westus2.
az group create --name gridResourceGroup --location westus2
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. Substitua <topic_name>
por um nome exclusivo para o tópico personalizado. O nome do tópico de Grade de Eventos deve ser exclusivo, pois é representado por uma entrada DNS.
az eventgrid topic create --name <topic_name> -l westus2 -g gridResourceGroup
Assinar um tópico personalizado
Assine um tópico da Grade de Eventos para indicar à Grade de Eventos quais eventos você deseja acompanhar. O exemplo a seguir assina o tópico personalizado que você criou e transmite a ID de recurso da conexão híbrida para o ponto de extremidade. A ID de conexão híbrida está no formato:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Relay/namespaces/<relay-namespace>/hybridConnections/<hybrid-connection-name>
O script a seguir obtém a ID de recurso do namespace de retransmissão. Ele constrói a ID para a conexão híbrida e assina um tópico de Grade de Eventos. O script define o tipo de ponto de extremidade como hybridconnection
e usa a ID de conexão híbrida do ponto de extremidade.
relaynsname=<namespace-name>
relayrg=<resource-group-for-relay>
hybridname=<hybrid-name>
relayid=$(az relay namespace show --resource-group $relayrg --name $relaynsname --query id --output tsv)
hybridid="$relayid/hybridConnections/$hybridname"
topicid=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name <event_subscription_name> \
--endpoint-type hybridconnection \
--endpoint $hybridid \
--expiration-date "<yyyy-mm-dd>"
Observe que uma data de expiração está definida para a assinatura.
Criar aplicativo para processar eventos
Você precisa de um aplicativo que possa recuperar eventos da conexão híbrida. O exemplo de Consumidor de Conexão Híbrida da Grade de Eventos do Azure da Microsoft para C# executa a operação. Você já atendeu às etapas de pré-requisito.
Certifique-se de que você tem o Visual Studio 2019 ou posterior.
Clone o repositório em seu computador local.
Carregue o projeto HybridConnectionConsumer no Visual Studio.
Em Program.cs, substitua
<relayConnectionString>
e<hybridConnectionName>
pela cadeia de conexão de restransmissão e o nome de conexão híbrida que você criou.Compile e execute o aplicativo no Visual Studio.
Enviar um evento para o tópico
Vamos disparar um evento para ver como a Grade de Eventos distribui a mensagem para o ponto de extremidade. Este artigo mostra como usar a CLI do Azure para disparar o evento. Como alternativa, você pode usar o aplicativo publicador de Grade de Eventos.
Primeiro, vamos obter a URL e a chave para o tópico personalizado. Novamente, use o nome do tópico personalizado para <topic_name>
.
endpoint=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name <topic_name> -g gridResourceGroup --query "key1" --output tsv)
Para simplificar este artigo, use dados de evento de exemplo para enviar ao tópico personalizado. Normalmente, um aplicativo ou serviço do Azure enviaria os dados de evento. CURL é um utilitário que envia solicitações HTTP. Neste artigo, use o CURL para enviar o evento ao tópico personalizado.
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
O aplicativo ouvinte deve receber a mensagem de evento.
Limpar os recursos
Caso planeje continuar a trabalhar com esse evento, não limpe os recursos criados neste artigo. Caso contrário, use os comandos a seguir para excluir os recursos criados por você neste artigo.
az group delete --name gridResourceGroup
Próximas etapas
Agora que você sabe como criar tópicos e assinaturas de evento, saiba mais sobre como a Grade de Eventos pode ajudá-lo:
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de