Entregar eventos aos Hubs de Eventos do Azure usando tópicos de namespace - Portal do Azure
O artigo fornece instruções passo a passo para publicar eventos na Grade de Eventos do Azure no formato JSON CloudEvents e entregar esses eventos usando o modelo de entrega por push.
Para ser específico, você usa o portal do Azure e a Curl para publicar eventos em um tópico de namespace na Grade de Eventos e enviar esses eventos de uma assinatura de evento para um destino de manipulador de Hubs de Eventos. Para obter mais informações sobre o modelo de entrega por push, consulte Visão geral da entrega por push.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Criar um namespace de grade de eventos
Um namespace de Grade de Eventos fornece um ponto de extremidade definido pelo usuário para o qual você posta seus eventos. O exemplo a seguir cria um namespace em seu grupo de recursos usando Bash no Azure Cloud Shell. O nome do namespace deve ser exclusivo porque faz parte de uma entrada DNS (Sistema de Nomes de Domínio).
Navegue para o portal do Azure.
Na barra de pesquisa do tópico, digite
Event Grid Namespaces
e selecioneEvent Grid Namespaces
nos resultados.Na página Namespaces da Grade de Eventos, selecione + Criar na barra de comandos.
Na página Criar namespace, execute estas etapas:
- Selecione a assinatura do Azure na qual você deseja criar o namespace.
- Crie um novo grupo de recursos selecionando Criar novo ou selecione um grupo de recursos existente.
- Insira um nome para o namespace.
- Selecione o local onde deseja criar o grupo de recursos.
- Em seguida, selecione Rever + criar.
- Na página Rever + criar, selecione Criar.
Na página Implantação, selecione Ir para o recurso após a implantação bem-sucedida.
Obter chave de acesso
- Na página Namespace da Grade de Eventos , selecione Teclas de acesso no menu à esquerda.
- Selecione o botão copiar ao lado da chave de acesso.
- Salve a chave de acesso em algum lugar. Você pode usá-lo mais tarde neste início rápido.
Habilitar identidade gerenciada para o namespace Grade de Eventos
Habilite a identidade gerenciada atribuída ao sistema no namespace Grade de Eventos. Para entregar eventos a hubs de eventos em seu namespace de Hubs de Eventos usando identidade gerenciada, siga estas etapas:
- Habilite a identidade gerenciada atribuída pelo sistema ou pelo usuário: namespaces. Continue lendo a próxima seção para descobrir como habilitar a identidade gerenciada usando a CLI do Azure.
- Adicione a identidade à função Remetente de Dados dos Hubs de Eventos do Azure no namespace Hubs de Eventos, continue lendo a próxima seção para descobrir como adicionar a atribuição de função.
- Configure a assinatura de eventos que usa um hub de eventos como ponto de extremidade para usar a identidade gerenciada atribuída pelo sistema ou pelo usuário.
Nesta seção, você habilita uma identidade gerenciada atribuída ao sistema no namespace. Você executa as outras etapas mais adiante neste início rápido.
Na página Namespace da Grade de Eventos , selecione Identidade no menu à esquerda.
Na página Identidade, selecione Ativado para o Status.
Selecione Guardar na barra de comando.
Criar um tópico no namespace
Crie um tópico que seja usado para manter todos os eventos publicados no ponto de extremidade do namespace.
- Selecione Tópicos no menu à esquerda.
- Na página Tópicos, selecione + Tópico na barra de comandos.
- Na página Criar tópico, siga estas etapas:
Criar um espaço de nomes dos Hubs de Eventos
Crie um recurso de Hubs de Eventos que seja usado como destino do manipulador para o tópico de namespace assinatura de entrega por push. Siga estes passos num separador separado do seu navegador de Internet ou numa janela separada. Navegue até o portal do Azure e entre usando as mesmas credenciais que você usava antes e a mesma assinatura do Azure.
- Digite Hubs de Eventos na barra de pesquisa e selecione Hubs de Eventos.
- Na página Hubs de Eventos, selecione + Criar na barra de comandos.
- Na página Criar namespace, execute estas etapas:
- Selecione a assinatura do Azure usada para criar o namespace Grade de Eventos.
- Selecione o grupo de recursos usado anteriormente.
- Insira um nome para o namespace Hubs de Eventos.
- Selecione o mesmo local usado para o namespace Grade de Eventos.
- Selecione Básico para o nível de preço .
- Selecione Rever + criar.
- Na página Revisão, selecione Criar.
- Na página Implantação, selecione Ir para o recurso após a implantação ser bem-sucedida.
Adicionar identidade gerenciada da Grade de Eventos à função Remetente de Dados dos Hubs de Eventos
- Na página Namespace de Hubs de Eventos , selecione Controle de acesso (IAM) no menu à esquerda.
- Selecione Adicionar ->Adicionar atribuição de função na barra de comandos.
- Na página Adicionar atribuição de função, procure Remetente de Dados de Hubs de Eventos, selecione Remetente de Dados de Hubs de Eventos do Azure na lista de funções e selecione Avançar.
- No separador Membros, selecione Identidade gerida para o tipo e, em seguida, selecione + Selecionar membros.
- Na página Selecionar identidades gerenciadas, selecione Namespace da Grade de Eventos para a identidade gerenciada e selecione a identidade gerenciada que tem o mesmo nome do namespace da Grade de Eventos.
- Na página Selecionar identidades gerenciadas, escolha Selecionar.
- Agora, na página Adicionar atribuição de função, selecione Rever + atribuir.
- Na página Rever + atribuir, selecione Rever + atribuir.
Criar um hub de eventos
- Na página Namespace de Hubs de Eventos, selecione Hubs de Eventos no menu à esquerda.
- Na página Hubs de Eventos, selecione + Hub de eventos na barra de comandos.
- Na página Criar hub de eventos, insira um nome para o hub de eventos e selecione Revisar + criar.
- Na página Rever + criar, selecione Criar.
Criar uma subscrição de evento
Crie uma assinatura de evento definindo seu modo de entrega como Push, que oferece suporte à entrega por push.
- Alterne para a guia ou janela com a página Namespace da Grade de Eventos aberta na guia ou janela com a página Namespace dos Hubs de Eventos aberta.
- Na página Namespace da Grade de Eventos , selecione Tópicos no menu à esquerda.
- Na página Tópicos, selecione o tópico criado na etapa anterior.
- Selecione + Subscrição na barra de comandos.
- Na página Criar Subscrição de Eventos , siga estes passos:
- Na guia Básico, insira um nome para a assinatura do evento.
- Selecione Push para o modo de entrega de eventos.
- Confirme se o hub de eventos selecionado para o tipo de ponto de extremidade.
- Selecione Configurar um ponto de extremidade.
- Na página Selecionar hub de eventos, siga estas etapas:
- De volta à página Criar Assinatura , selecione Sistema Atribuído para Tipo de identidade Gerenciado.
- Selecione Criar.
Enviar eventos para o seu tópico
Agora, envie um evento de exemplo para o tópico namespace seguindo as etapas nesta seção.
Inicie o Cloud Shell no portal do Azure. Mude para Bash.
No Cloud Shell, execute o seguinte comando para declarar uma variável para manter a chave de acesso para o namespace. Você anotou a chave de acesso anteriormente neste início rápido.
key=ACCESSKEY
Declare uma variável para manter o URI da operação de publicação. Substitua
NAMESPACENAME
pelo nome do namespace Grade de Eventos eTOPICNAME
pelo nome do tópico.publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
Crie um exemplo de evento compatível com CloudEvents :
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
O
data
elemento é a carga útil do seu evento. Qualquer JSON bem formado pode ir para este campo. Para obter mais informações sobre propriedades (também conhecidas como atributos de contexto) que podem ir em um evento, consulte as especificações do CloudEvents .Use CURL para enviar o evento para o tópico. CURL é um utilitário que envia os pedidos HTTP.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Navegue até a página Namespace de Hubs de Eventos no portal do Azure, atualize a página e verifique se o contador de mensagens de entrada no gráfico indica que um evento foi recebido.
Próximos passos
Neste artigo, você criou e configurou o namespace Grade de Eventos e os recursos dos Hubs de Eventos. Para obter instruções passo a passo para receber eventos de um hub de eventos, consulte estes tutoriais: