Partilhar via


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).

  1. Navegue para o portal do Azure.

  2. Na barra de pesquisa do tópico, digite Event Grid Namespacese selecione Event Grid Namespaces nos resultados.

    Captura de ecrã 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 selecionado.

  4. Na página Criar namespace, execute estas etapas:

    1. Selecione a assinatura do Azure na qual você deseja criar o namespace.
    2. Crie um novo grupo de recursos selecionando Criar novo ou selecione um grupo de recursos existente.
    3. Insira um nome para o namespace.
    4. Selecione o local onde deseja criar o grupo de recursos.
    5. Em seguida, selecione Rever + criar.
      Captura de tela que mostra a página Criar namespace.
    6. Na página Rever + criar, selecione Criar.
  5. Na página Implantação, selecione Ir para o recurso após a implantação bem-sucedida.

Obter chave de acesso

  1. Na página Namespace da Grade de Eventos , selecione Teclas de acesso no menu à esquerda.
  2. Selecione o botão copiar ao lado da chave de acesso. Captura de ecrã que mostra a página Espaços de Nomes da Grelha de Eventos com o separador Teclas de acesso selecionado.
  3. 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:

  1. 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.
  2. 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.
  3. 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.

  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 Guardar na barra de comando.

    Captura de tela que mostra a guia Identidade da página Namespaces da Grade de Eventos.

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.

  1. Selecione Tópicos no menu à esquerda.
  2. Na página Tópicos, selecione + Tópico na barra de comandos. Captura de ecrã 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 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.

  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 comandos.
  3. Na página Criar namespace, execute estas etapas:
    1. Selecione a assinatura do Azure usada para criar o namespace Grade de Eventos.
    2. Selecione o grupo de recursos usado anteriormente.
    3. Insira um nome para o namespace Hubs de Eventos.
    4. Selecione o mesmo local usado para o namespace Grade de Eventos.
    5. Selecione Básico para o nível de preço .
    6. Selecione Rever + criar. Captura de tela que mostra a página Criar Namespace de Hubs de Eventos.
    7. Na página Revisão, selecione Criar.
  4. 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

  1. Na página Namespace de Hubs de Eventos , selecione Controle de acesso (IAM) no menu à esquerda.
  2. Selecione Adicionar ->Adicionar atribuição de função na barra de comandos. Captura de tela que mostra a página Namespace de Hubs de Eventos com a guia Controle de acesso selecionada.
  3. 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. Captura de ecrã que mostra a página Adicionar Atribuição de Função.
  4. No separador Membros, selecione Identidade gerida para o tipo e, em seguida, selecione + Selecionar membros. Captura de ecrã que mostra o separador Membros da página Adicionar Atribuição de Função.
  5. 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. Captura de tela que mostra 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 Rever + atribuir. Captura de tela que mostra a página Adicionar atribuição de função com a identidade gerenciada selecionada.
  8. Na página Rever + atribuir, selecione Rever + atribuir.

Criar um hub de eventos

  1. Na página Namespace de Hubs de Eventos, selecione Hubs de Eventos no menu à esquerda.
  2. Na página Hubs de Eventos, selecione + Hub de eventos na barra de comandos. Captura de ecrã 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 que mostra a página Criar hub de eventos.
  4. 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.

  1. 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.
  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 criado na etapa anterior.
  4. Selecione + Subscrição na barra de comandos. Captura de ecrã que mostra a página Tópico com o botão Criar subscrição selecionado.
  5. Na página Criar Subscrição de Eventos , siga estes passos:
    1. Na guia Básico, insira um nome para a assinatura do evento.
    2. Selecione Push para o modo de entrega de eventos.
    3. Confirme se o hub de eventos selecionado para o tipo de ponto de extremidade.
    4. Selecione Configurar um ponto de extremidade. Captura de ecrã que mostra a página Criar Subscrição com Push selecionado para o modo de Entrega.
    5. Na página Selecionar hub de eventos, siga estas etapas:
      1. Selecione a assinatura do Azure e o grupo de recursos que tem o hub de eventos.
      2. Selecione o namespace 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 Sistema Atribuído para Tipo de identidade Gerenciado. Captura de ecrã que mostra a página Criar Subscrição com o conjunto Sistema Atribuído para o tipo de identidade Gerida.
    7. 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.

  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 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
    
  3. Declare uma variável para manter o URI da operação de publicação. Substitua NAMESPACENAME pelo nome do namespace 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 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 .

  5. 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.

    Captura de tela que mostra a página do Hub de eventos com o gráfico mostrando 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: