Compartilhar via


Distribuir eventos para 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 do CloudEvents e entregar esses eventos usando o modelo de entrega por push.

Para ser específico, use o portal do Azure e o 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, confira Visão geral da entrega por push.

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Criar um namespace da Grade de Eventos

Um namespace da Grade de Eventos fornece um ponto de extremidade definido pelo usuário no qual você posta seus eventos. O exemplo a seguir cria um namespace no grupo de recursos usando o Bash no Azure Cloud Shell. O nome do namespace precisa ser exclusivo porque faz parte de uma entrada DNS (Sistema de Nomes de Domínio).

  1. Navegue até o Portal do Azure.

  2. Na barra de pesquisa no tópico, digite Event Grid Namespaces e selecione Event Grid Namespaces entre os resultados.

    Captura de tela que mostra a barra de pesquisa no portal do Azure.

  3. Na página Namespaces da Grade de Eventos, selecione + Criar na barra de comandos. Captura de tela que mostra a página Namespaces da Grade de Eventos com o botão Criar na barra de comandos selecionada.

  4. Na página Criar Namespace, siga estas etapas:

    1. Selecione a Assinatura do Azure na qual você quer criar o namespace.
    2. Crie um grupo de recursos selecionando Criar ou selecione um grupo de recursos existente.
    3. Insira um nome para o namespace.
    4. Selecione o local onde você deseja criar o grupo de recursos.
    5. Em seguida, selecione Examinar + criar.
      Captura de tela que mostra a página Criar Namespace.
    6. Na página Examinar + criar escolha Criar.
  5. Na página Implantação, selecione Acessar o recurso, após a implantação com êxito.

Obter a chave de acesso

  1. Na página Namespace da Grade de Eventos, selecione Chaves de acesso no menu à esquerda.
  2. Selecione o botão Copiar ao lado da chave de acesso. Captura de tela que mostra a página Namespaces da Grade de Eventos com a guia Chaves de Acesso selecionada.
  3. Salve a chave de acesso em algum lugar. Você o usará posteriormente neste guia de início rápido.

Habilitar a identidade gerenciada para o namespace da Grade de Eventos

Habilite a identidade gerenciada atribuída pelo sistema no namespace da Grade de Eventos. Para entregar eventos aos Hubs de Eventos no namespace dos Hubs de Eventos usando a identidade gerenciada, siga estas etapas:

  1. Habilite a identidade gerenciada atribuída pelo sistema ou pelo usuário: namespaces. Continue lendo a próxima seção para saber como habilitar a identidade gerenciada usando a CLI do Azure.
  2. Adicionar a identidade à função Remetente de Dados dos Hubs de Eventos do Azure no namespace dos Hubs de Eventos, continue lendo até a próxima seção para descobrir como adicionar a atribuição de função.
  3. Configure a assinatura do evento que usa um Hub de Eventos como um ponto de extremidade para usar a identidade gerenciada atribuída pelo sistema ou pelo usuário.

Nesta seção, habilite uma identidade gerenciada atribuída pelo sistema no namespace. As outras etapas serão executadas posteriormente neste início rápido.

  1. Na página Namespace da Grade de Eventos, selecione Identidade no menu à esquerda.

  2. Na página Identidade, selecione Ativado para o Status.

  3. Selecione Salvar na barra de comandos.

    Captura de tela que mostra o Namespace da Grade de Eventos com a guia Identidade selecionada.

Crie um tópico no namespace

Crie um tópico que seja usado para conter todos os eventos publicados no ponto de extremidade do namespace.

  1. Selecione Tópicos no menu à esquerda.
  2. Na página Tópicos, selecione + Tópico na barra de comandos. Captura de tela que mostra a página Tópicos.
  3. Na página Criar Tópico, siga estas etapas:
    1. Insira um nome para o tópico.
    2. Selecione Criar.
      Captura de tela que mostra a página Criar Tópico.

Criar um namespace dos Hubs de Eventos

Crie um recurso de Hubs de Eventos que seja usado como destino do manipulador para a assinatura de entrega por push do tópico do namespace. Execute essas etapas em uma guia separada do navegador da Internet ou em uma janela separada. Navegue até o portal do Azure e entre usando as mesmas credenciais que você usou antes e a mesma assinatura do Azure.

  1. Digite Hubs de Eventos na barra de pesquisa e selecione Hubs de Eventos.
  2. Na página Hubs de Eventos, selecione + Criar na barra de comando.
  3. Na página Criar Namespace, siga estas etapas:
    1. Selecione a assinatura do Azure que você usou para criar o namespace da Grade de Eventos.
    2. Selecione o grupo de recursos que você usou anteriormente.
    3. Insira um nome para o namespace dos Hubs de Eventos.
    4. Selecione o mesmo local que usou para o namespace da Grade de Eventos.
    5. Selecione Básico para o tipo de Preço.
    6. Selecione Examinar + criar. Captura de tela que mostra a página Criar Namespace dos Hubs de Eventos.
    7. Na página Examinar, selecione Criar.
  4. Na página Implantação, selecione Ir para o recurso após a implantação ser concluída com sucesso.

Adicionar identidade gerenciada da Grade de Eventos à função Remetente de Dados dos Hubs de Eventos

  1. Na página Namespace de Hubs de Eventos, selecione Gerenciamento de Identidades e Acesso (IAM) no menu à esquerda.
  2. Selecione Adicionar ->Adicionar atribuição de função na barra de comando. Captura de tela que mostra a página Namespace dos Hubs de Eventos com a guia Controle de acesso selecionada.
  3. Na página Adicionar atribuição de função, pesquise por Remetente de Dados dos Hubs de Eventos do Azure, selecione Remetente de Dados dos Hubs de Eventos do Azure na lista de funções e, em seguida, selecione Avançar. Captura de tela que mostra a página Adicionar uma Atribuição de Função.
  4. Na guia Membros, selecione Identidade gerenciada para o tipo e, em seguida, selecione +Selecionar membros. Captura de tela que mostra a guia Membros da tela Adicionar Atribuição de Função.
  5. Na página Selecionar identidades gerenciadas, selecione Namespace da Grade de Eventos para a Identidade gerenciada, e então selecione a identidade gerenciada que tem o mesmo nome que o namespace da Grade de Eventos. Captura de tela mostrando a página Selecionar identidades gerenciadas.
  6. Na página Selecionar identidades gerenciadas, escolha Selecionar. Captura de tela que mostra a identidade gerenciada selecionada.
  7. Agora, na página Adicionar atribuição de função, selecione Revisar + atribuir. Captura de tela que mostra a página Adicionar atribuição de função com a identidade gerenciada selecionada.
  8. Na página Examinar + atribuir, selecione Examinar + atribuir.

Criar um hub de eventos

  1. Na página Namespace dos Hubs de Eventos, selecione Hubs de Eventos no menu à esquerda.
  2. Na página Hubs de Eventos, selecione +Hub de Eventos na barra de comando. Captura de tela que mostra a página Hubs de Eventos com + Hub de Eventos selecionado.
  3. Na página Criar hub de eventos, insira um nome para o hub de eventos e selecione Revisar + criar. Captura de tela mostrando a página
  4. Na página Examinar + criar escolha Criar.

Criar uma assinatura de evento

Crie uma assinatura de evento definindo seu modo de entrega como Push, que dá suporte para entrega por push..

  1. Alterne para a guia ou janela com a página Namespace da Grade de Eventos aberta a partir da guia ou janela com a página Namespace de Hubs de Eventos aberta.
  2. Na página Namespace da Grade de Eventos, selecione Tópicos no menu à esquerda.
  3. Na página Tópicos, selecione o tópico que você criou na etapa anterior.
  4. Selecione + Assinatura na barra de comandos. Captura de tela que mostra a página Tópico com o botão Criar assinatura selecionado.
  5. Na página Criar Assinatura de Eventos, siga estas etapas:
    1. Na guia Básico, insira um nome para a assinatura do evento.
    2. Selecione Push para o modo de entrega do evento.
    3. Confirme se o Hub de Eventos foi selecionado para o Tipo de ponto de extremidade.
    4. Selecione Configurar um ponto de extremidade. Captura de tela que mostra a página Criar Assinatura com Push selecionada para o modo Entrega.
    5. Na página Selecionar hub de eventos, siga estas etapas:
      1. Selecione a assinatura do Azure e o grupo de recursos que têm o hub de eventos.
      2. Selecione o namespace dos Hubs de Eventos e o hub de eventos.
      3. Em seguida, selecione Confirmar seleção. Captura de tela que mostra a página Selecionar hub de eventos.
    6. De volta à página Criar Assinatura, selecione Atribuído pelo Sistema para o Tipo de identidade gerenciada. Captura de tela que mostra a página Criar Assinatura com o conjunto Atribuído pelo Sistema para o tipo de identidade gerenciada.
    7. Selecione Criar.

Enviar eventos para o tópico

Agora, envie um evento de exemplo para o tópico do namespace seguindo as etapas nesta seção.

  1. Inicie o Cloud Shell no portal do Azure. Mude para Bash.

    Captura de tela que mostra o Cloud Shell.

  2. No Cloud Shell, execute o comando a seguir 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
    
  3. Declare uma variável para manter o URI da operação de publicação. Substitua NAMESPACENAME pelo nome do namespace da Grade de Eventos e TOPICNAME pelo nome do tópico.

    publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
    
  4. 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 elemento data é o conteúdo do evento. Qualquer JSON bem formado pode ficar nesse campo. Para obter mais informações em propriedades (também conhecidas como atributos de contexto) que podem ser usadas em um evento, consulte as especificações CloudEvents.

  5. Use o CURL para enviar o evento para o tópico. CURL é um utilitário que envia solicitações HTTP.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

    Navegue até a página do Namespace dos Hubs de Eventos no portal do Microsoft Azure, atualize a página e verifique se o contador de mensagens de entrada no gráfico indica que um evento foi recebido.

    Captura de tela que mostra a página Hub de eventos com gráfico mostrando que um evento foi recebido.

Próximas etapas

Neste artigo, você criou e configurou o namespace da Grade de Eventos e os recursos dos Hubs de Eventos. Para obter instruções passo a passo sobre como receber eventos de um hub de eventos, confira estes tutoriais: