Tutorial: Usar tópicos de namespace para rotear mensagens MQTT para Hubs de Eventos do Azure (portal do Azure)

Neste tutorial, você aprenderá a usar um tópico de namespace para rotear dados de clientes MQTT para Hubs de Eventos do Azure. Aqui estão as etapas de alto nível:

Pré-requisitos

  • Se você não tiver uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
  • Se você é novo na Grade de Eventos, leia a visão geral da Grade de Eventos antes de iniciar este tutorial.
  • Registre o provedor de recursos da Grade de Eventos de acordo com as etapas em Registrar o provedor de recursos da Grade de Eventos.
  • Verifique se a porta 8883 está aberta no firewall. O exemplo neste tutorial usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode estar bloqueada em alguns ambientes de rede corporativa e educacional.

Criar um espaço de nomes no portal do Azure

Um namespace na Grade de Eventos do Azure é um contêiner lógico para um ou mais tópicos, clientes, grupos de clientes, espaços de tópicos e associações de permissão. Ele fornece um namespace exclusivo, permitindo que você tenha vários recursos na mesma região do Azure. Com um namespace da Grade de Eventos do Azure, você pode agrupar agora recursos relacionados e gerenciá-los como uma única unidade em sua assinatura do Azure.

Siga as próximas seções para criar, exibir e gerenciar um namespace da Grade de Eventos do Azure.

Para criar um espaço de nomes:

  1. Inicie sessão no portal do Azure.

  2. Na caixa de pesquisa, insira Namespaces da Grade de Eventos e selecione Namespaces da Grade de Eventos nos resultados.

    Captura de ecrã a mostrar Espaços de Nomes da Grelha de Eventos nos resultados da pesquisa.

  3. Na página Namespaces da Grade de Eventos, selecione + Criar na barra de ferramentas.

    Captura de ecrã a mostrar a página Espaços de Nomes da Grelha de Eventos com o botão Criar na barra de ferramentas selecionado.

  4. Na página Noções básicas, siga estas etapas.

    1. Selecione a assinatura do Azure na qual você deseja criar o namespace.

    2. Selecione um grupo de recursos existente ou crie um grupo de recursos.

    3. Insira um nome para o namespace.

    4. Selecione a região ou o local onde deseja criar o namespace.

    5. Selecione Rever + criar na parte inferior da página.

      Captura de tela mostrando a guia Noções básicas da página Criar namespace.

  5. No separador Rever + criar, reveja as suas definições e selecione Criar.

  6. Na página Implantação bem-sucedida, selecione Ir para o recurso para navegar até seu namespace.

Criar um tópico de namespace

  1. Se você não estiver na página Namespace da Grade de Eventos, siga as etapas de criação, exibição e gerenciamento de namespaces para exibir o namespace que deseja usar para criar o tópico.

  2. Na página Namespace da Grade de Eventos, selecione a opção Tópicos na seção Eventos no menu à esquerda.

  3. Na página Tópicos, selecione o botão + Tópico na barra de comandos.

    Captura de tela mostrando a criação do tópico do namespace Event Grid.

  4. Na página Criar Tópico, digite o nome do tópico que deseja criar e selecione Criar.

    Captura de tela mostrando noções básicas de criação de tópicos do namespace Event Grid.

Habilitar identidade gerenciada para o namespace Grade de Eventos

  1. Na página Namespace da Grade de Eventos, selecione Identidade em Configurações no menu à esquerda.

  2. Ative o switch para habilitar uma identidade gerenciada atribuída ao sistema.

  3. Selecione Salvar na barra de ferramentas para salvar a configuração.

    Captura de tela de uma página de identidade atribuída pelo sistema para um namespace de Grade de Eventos.

  4. Selecione Sim na mensagem de confirmação.

  5. Confirme se você vê o ID do objeto da identidade gerenciada atribuída ao sistema e veja um link para atribuir funções.

    A captura de tela que mostra a atribuição de identidade a um namespace foi concluída.

    Verifique as notificações no portal para confirmar se a identidade gerenciada está habilitada para o namespace.

Habilitar o broker MQTT para o namespace Event Grid

  1. Na página Namespace da Grade de Eventos , selecione Configuração em Definições no menu à esquerda.

  2. Marque a caixa de seleção ao lado de Ativar broker MQTT.

  3. Selecione Aplicar na parte inferior da página.

    Captura de tela mostrando a página de configuração do namespace Event Grid para habilitar o MQTT.

    Verifique as notificações no portal para confirmar se o broker MQTT está habilitado para o namespace.

Em uma guia separada do navegador da Web ou em uma janela separada, use o portal do Azure para criar um namespace de Hubs de Eventos com um hub de eventos.

Criar um espaço de nomes dos Hubs de Eventos

Um namespace de Hubs de Eventos fornece um contêiner de escopo exclusivo, no qual você cria um ou mais hubs de eventos. Para criar um espaço de nomes no seu grupo de recursos com o portal, faça as ações seguintes:

  1. No portal do Azure, selecione Todos os serviços no menu esquerdo e selecione a estrela (*) ao lado de Hubs de Eventos na categoria Análise . Confirme se Hubs de Eventos foi adicionado aos FAVORITOS no menu de navegação esquerdo.

    Captura de ecrã a mostrar a seleção de Hubs de Eventos na página Todos os serviços.

  2. Selecione Hubs de Eventos em FAVORITOS no menu de navegação esquerdo e selecione Criar na barra de ferramentas.

    Captura de tela mostrando a seleção do botão Criar na página Hubs de eventos.

  3. Na página Criar namespace, execute as seguintes etapas:

    1. Selecione a assinatura na qual você deseja criar o namespace.

    2. Selecione o grupo de recursos criado na etapa anterior.

    3. Insira um nome para o namespace. O sistema verifica imediatamente a disponibilidade do nome.

    4. Selecione um local para o namespace.

    5. Escolha Basic para o nível de preço. Se você planeja usar o namespace de aplicativos Apache Kafka , use a camada Standard . A camada básica não suporta cargas de trabalho do Apache Kafka. Para saber mais sobre as diferenças entre camadas, consulte Cotas e limites, Artigos dedicados de Hubs de Eventos Premium e Hubs de Eventos .

    6. Deixe as configurações de unidades de taxa de transferência (para camada padrão) ou unidades de processamento (para camada premium) como estão. Para saber mais sobre unidades de taxa de transferência ou unidades de processamento: escalabilidade dos Hubs de Eventos.

    7. Selecione Rever + Criar na parte inferior da página.

      Captura de ecrã da página Criar Espaço de Nomes no portal do Azure.

    8. Na página Rever + Criar, reveja as definições e selecione Criar. Aguarde pela conclusão da implementação.

  4. Na página Implantação, selecione Ir para o recurso para navegar até a página do seu namespace.

    Captura de tela da página Implantação concluída com o link para o recurso.

  5. Confirme que você vê a página Namespace de Hubs de Eventos semelhante ao exemplo a seguir:

    Captura de ecrã da home page do seu espaço de nomes de Hubs de Eventos no portal do Azure.

Criar um hub de eventos

Para criar um hub de eventos no espaço de nomes, faça as ações seguintes:

  1. Na página Visão geral, selecione + Hub de eventos na barra de comandos.

    Captura de ecrã da seleção do botão Adicionar hub de eventos na barra de comandos.

  2. Digite um nome para o hub de eventos e selecione Revisar + criar.

    Captura de ecrã da página Criar hub de eventos.

  3. Na página Rever + criar, selecione Criar.

  4. Você pode verificar o status da criação do hub de eventos em alertas. Depois que o hub de eventos for criado, você o verá na lista de hubs de eventos.

    Captura de tela mostrando a lista de hubs de eventos.

Dê ao namespace Event Grid o acesso para enviar eventos para o hub de eventos

  1. Na página Namespace de Hubs de Eventos , selecione Controle de acesso (IAM) no menu à esquerda.

  2. Na página Controlo de acesso, selecione + Adicionar na barra de comandos e, em seguida, selecione Adicionar atribuição de função.

    Captura de tela que mostra a página Controle de acesso para o namespace Hubs de Eventos.

  3. Na página Adicionar atribuição de função, selecione Remetente de Dados dos Hubs de Eventos do Azure na lista de funções e selecione Avançar na parte inferior da página.

    Captura de tela que mostra a página Adicionar atribuição de função com o Remetente de Dados dos Hubs de Eventos do Azure selecionado.

  4. Na página Membros, siga estes passos:

    1. No campo Atribuir acesso a, selecione Identidade gerenciada.

    2. Escolha + Selecionar membros.

      Captura de tela que mostra a página Adicionar atribuição de função com Identidade gerenciada selecionada.

  5. Na página Selecionar identidades gerenciadas, siga estas etapas:

    1. Selecione a sua subscrição do Azure.

    2. Em Identidade gerenciada, selecione Namespace da grade de eventos.

    3. Selecione a identidade gerenciada que tem o mesmo nome que o namespace Grade de Eventos.

    4. Escolha Selecionar na parte inferior da página.

      Captura de tela que mostra a página Selecionar identidades gerenciadas com a identidade gerenciada do namespace Grade de Eventos selecionada.

  6. Na página Adicionar atribuição de função, selecione Rever + atribuir na parte inferior da página.

  7. Na página Rever + atribuir, selecione Rever + atribuir.

Criar uma assinatura de evento com Hubs de Eventos como ponto de extremidade

  1. Alterne para a guia da janela do navegador da Web que tem o namespace Grade de Eventos aberto.

  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 de namespace criado anteriormente.

    Captura de tela que mostra a página Tópicos com o tópico de namespace selecionado.

  4. Na página Tópico do Namespace da Grade de Eventos, selecione + Assinatura na barra de comandos na parte superior.

    Captura de ecrã que mostra a página Subscrições.

  5. Na página Criar Subscrição, siga estes passos:

    1. Insira um nome para a assinatura do evento.

    2. Em Modo de entrega, selecione Push.

    3. Confirme se Tipo de ponto de extremidade está definido como Hub de eventos.

    4. Selecione Configurar um ponto de extremidade.

      Captura de ecrã que mostra a página Criar Subscrição.

    5. Em Selecionar Hub de Eventos, siga estas etapas:

      1. Selecione a assinatura do Azure que tem o hub de eventos.

      2. Selecione o grupo de recursos que tem o hub de eventos.

      3. Selecione o namespace Hubs de Eventos.

      4. Selecione o hub de eventos no namespace Hubs de Eventos.

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

    7. Selecione Criar na parte inferior da página.

      Captura de ecrã que mostra a página Criar Subscrição com o botão Criar selecionado.

Configurar o roteamento no namespace Grade de Eventos

  1. Navegue de volta para a página Namespace da Grade de Eventos selecionando o namespace na seção Essentials da página Tópico do Namespace da Grade de Eventos ou selecionando o nome do namespace no menu de trilha na parte superior.

  2. Na página Event Grid Namespace, selecione Roteamento no menu esquerdo da seção MQTT broker.

  3. Na página Roteamento, selecione Habilitar roteamento.

  4. Em Tipo de tópico, selecione Tópico de namespace.

  5. Em Topic, selecione o tópico Event Grid namespace que você criou onde todas as mensagens MQTT serão roteadas.

  6. Selecione Aplicar.

    Captura de tela que mostra a página Roteamento com o tópico de namespace selecionado.

    Verifique as notificações para confirmar se o namespace está habilitado com as informações de roteamento.

Criar clientes, espaço de tópico e associações de permissão

Siga as etapas no início rápido: Publique e inscreva-se em um tópico MQTT para:

  1. Crie um cliente. Você pode criar o segundo cliente se quiser, mas é opcional.

  2. Crie um espaço de tópico.

  3. Crie associações de permissão de editor e assinante.

  4. Use o MQTTX para enviar algumas mensagens.

  5. Verifique se o hub de eventos recebeu essas mensagens na página Visão geral do namespace Hubs de Eventos.

    Captura de tela que mostra a página Visão geral do hub de eventos com a contagem de mensagens de entrada.

Exibir mensagens MQTT roteadas em Hubs de Eventos usando uma consulta do Stream Analytics

Navegue até a instância dos Hubs de Eventos (hub de eventos) dentro da sua assinatura de evento no portal do Azure. Processe dados do seu hub de eventos usando o Stream Analytics. Para obter mais informações, consulte Processar dados de Hubs de Eventos do Azure usando o Stream Analytics - Hubs de Eventos do Azure | Microsoft Learn. Você pode ver as mensagens MQTT na consulta.

Captura de tela que mostra os dados das mensagens MQTT nos Hubs de Eventos usando a ferramenta de consulta do Stream Analytics.

Próximos passos

Para exemplos de código, vá para este repositório GitHub.