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:
Inicie sessão no portal do Azure.
Na caixa de pesquisa, insira Namespaces da Grade de Eventos e selecione Namespaces da Grade de Eventos nos resultados.
Na página Namespaces da Grade de Eventos, selecione + Criar na barra de ferramentas.
Na página Noções básicas, siga estas etapas.
Selecione a assinatura do Azure na qual você deseja criar o namespace.
Selecione um grupo de recursos existente ou crie um grupo de recursos.
Insira um nome para o namespace.
Selecione a região ou o local onde deseja criar o namespace.
Selecione Rever + criar na parte inferior da página.
No separador Rever + criar, reveja as suas definições e selecione Criar.
Na página Implantação bem-sucedida, selecione Ir para o recurso para navegar até seu namespace.
Criar um tópico de namespace
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.
Na página Namespace da Grade de Eventos , selecione a opção Tópicos na seção Agente de eventos no menu à esquerda.
Na página Tópicos, selecione o botão + Tópico na barra de comandos.
Na página Criar Tópico, digite o nome do tópico que deseja criar e selecione Criar.
Habilitar identidade gerenciada para o namespace Grade de Eventos
Na página Namespace da Grade de Eventos, selecione Identidade em Configurações no menu à esquerda.
Ative o switch para habilitar uma identidade gerenciada atribuída ao sistema.
Selecione Salvar na barra de ferramentas para salvar a configuração.
Selecione Sim na mensagem de confirmação.
Confirme se você vê o ID do objeto da identidade gerenciada atribuída ao sistema e veja um link para atribuir funções.
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
Na página Namespace da Grade de Eventos , selecione Configuração em Definições no menu à esquerda.
Marque a caixa de seleção ao lado de Ativar broker MQTT.
Selecione Aplicar na parte inferior da página.
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:
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.Selecione Hubs de Eventos em FAVORITOS no menu de navegação esquerdo e selecione Criar na barra de ferramentas.
Na página Criar namespace, execute as seguintes etapas:
Selecione a assinatura na qual você deseja criar o namespace.
Selecione o grupo de recursos criado na etapa anterior.
Insira um nome para o namespace. O sistema verifica imediatamente a disponibilidade do nome.
Selecione um local para o namespace.
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 .
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.
Selecione Rever + Criar na parte inferior da página.
Na página Rever + Criar, reveja as definições e selecione Criar. Aguarde pela conclusão da implementação.
Na página Implantação, selecione Ir para o recurso para navegar até a página do seu namespace.
Confirme que você vê a página Namespace de Hubs de Eventos semelhante ao exemplo a seguir:
Criar um hub de eventos
Para criar um hub de eventos no espaço de nomes, faça as ações seguintes:
Na página Visão geral, selecione + Hub de eventos na barra de comandos.
Digite um nome para o hub de eventos e selecione Revisar + criar.
Na página Rever + criar, selecione Criar.
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.
Dê ao namespace Event Grid o acesso para enviar eventos para o hub de eventos
Na página Namespace de Hubs de Eventos , selecione Controle de acesso (IAM) no menu à esquerda.
Na página Controlo de acesso, selecione + Adicionar na barra de comandos e, em seguida, selecione Adicionar atribuição de função.
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.
Na página Membros, siga estes passos:
No campo Atribuir acesso a, selecione Identidade gerenciada.
Escolha + Selecionar membros.
Na página Selecionar identidades gerenciadas, siga estas etapas:
Selecione a sua subscrição do Azure.
Em Identidade gerenciada, selecione Namespace da grade de eventos.
Selecione a identidade gerenciada que tem o mesmo nome que o namespace Grade de Eventos.
Escolha Selecionar na parte inferior da página.
Na página Adicionar atribuição de função, selecione Rever + atribuir na parte inferior da página.
Na página Rever + atribuir, selecione Rever + atribuir.
Criar uma assinatura de evento com Hubs de Eventos como ponto de extremidade
Alterne para a guia da janela do navegador da Web que tem o namespace Grade de Eventos aberto.
Na página Namespace da Grade de Eventos , selecione Tópicos no menu à esquerda.
Na página Tópicos, selecione o tópico de namespace criado anteriormente.
Na página Tópico do Namespace da Grade de Eventos, selecione + Assinatura na barra de comandos na parte superior.
Na página Criar Subscrição, siga estes passos:
Insira um nome para a assinatura do evento.
Em Modo de entrega, selecione Push.
Confirme se Tipo de ponto de extremidade está definido como Hub de eventos.
Selecione Configurar um ponto de extremidade.
Em Selecionar Hub de Eventos, siga estas etapas:
Selecione a assinatura do Azure que tem o hub de eventos.
Selecione o grupo de recursos que tem o hub de eventos.
Selecione o namespace Hubs de Eventos.
Selecione o hub de eventos no namespace Hubs de Eventos.
Em seguida, selecione Confirmar seleção.
De volta à página Criar Assinatura , selecione Sistema Atribuído para Tipo de identidade Gerenciado.
Selecione Criar na parte inferior da página.
Configurar o roteamento no namespace Grade de Eventos
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.
Na página Event Grid Namespace, selecione Roteamento no menu esquerdo da seção MQTT broker.
Na página Roteamento, selecione Habilitar roteamento.
Em Tipo de tópico, selecione Tópico de namespace.
Em Topic, selecione o tópico Event Grid namespace que você criou onde todas as mensagens MQTT serão roteadas.
Selecione Aplicar.
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:
Crie um cliente. Você pode criar o segundo cliente se quiser, mas é opcional.
Crie um espaço de tópico.
Crie associações de permissão de editor e assinante.
Use o MQTTX para enviar algumas mensagens.
Verifique se o hub de eventos recebeu essas mensagens na página Visão geral do namespace Hubs de Eventos.
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.
Próximos passos
Para exemplos de código, vá para este repositório GitHub.