Tutorial: Usar tópicos de namespace para encaminhar mensagens MQTT para Hubs de Eventos do Azure (portal do Azure)
Neste tutorial, você vai aprender como usar um tópico de namespace para encaminhar dados de clientes MQTT para Hubs de Eventos do Azure. Aqui estão as etapas de alto nível:
Pré-requisitos
- Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
- Se não estiver familiarizado com a Grade de Eventos, leia a visão geral da Grade de Eventos antes de começar o 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.
- Certifique-se de que a porta 8883 esteja aberta no seu firewall. A amostra deste tutorial usa o protocolo MQTT, que se comunica pela porta 8883. Essa porta pode ser bloqueada em alguns ambientes de rede corporativa e educacional.
Criar um namespace 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ê já pode agrupar recursos relacionados e gerenciá-los como uma só unidade na 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 namespace:
Entre 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 Básico, siga essas etapas.
Selecione a Assinatura do Azure na qual você quer criar o namespace.
Escolha um grupo de recursos existente ou crie um grupo de recursos.
Insira um nome para o namespace.
Selecione a região ou a localização onde você deseja criar o namespace.
Selecione Revisar + criar na parte inferior da página.
Na página Revisar + criar, revise as configurações e selecione Criar.
Na página Implantação bem sucedida, selecione Ir para o recurso para navegar até a página do seu namespace.
Criar um tópico de namespace
Se você não está na página Namespace da Grade de Eventos, siga as etapas em criar, exibir e gerenciar namespaces para visualizar o namespace que você 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 você quer criar e selecione Criar.
Habilitar a identidade gerenciada para o namespace da Grade de Eventos
Na página Namespace da Grade de Eventos, selecione Identidade em Configurações no menu do lado esquerdo.
Ative o comutador para habilitar uma identidade gerenciada atribuída pelo sistema.
Selecione Salvar na barra de ferramentas para salvar a configuração.
Na mensagem de confirmação, selecione Sim.
Confirme que você vê a ID de objeto da identidade gerenciada atribuída pelo 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 Agente MQTT para o namespace da Grade de Eventos
Na página Namespace da Grade de Eventos, selecione Configuração em Definições no menu do lado esquerdo.
Marque a caixa de seleção ao lado de Habilitar o Agente MQTT.
Selecione Aplicar na parte inferior da página.
Verifique as notificações no portal para confirmar se o Agente 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 namespace de Hubs de Eventos
Um namespace dos Hubs de Eventos fornece um contêiner de escopo exclusivo, em que você cria um ou mais Hubs de Eventos. Para criar um namespace em seu grupo de recursos usando o portal, faça o seguinte:
No portal do Azure, selecione Todos os serviços no menu à esquerda e selecione estrela (
*
) ao lado de Hubs de Eventos na categoria Análise. Confirme que Hubs de Eventos foi adicionado à FAVORITOS no menu de navegação à esquerda.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 imediatamente verifica para ver se o nome está disponível.
Selecione uma localização para o namespace.
Escolha Básico para o tipo de preço. Se você planeja usar o namespace de aplicativos Apache Kafka, use a camada Standard . A camada básica não dá suporte a cargas de trabalho do Apache Kafka. Para saber mais sobre as diferenças entre camadas, consulte os artigos Cotas e limites, Hubs de Eventos Premiume Hubs de Eventos Dedicados.
Não altere as configurações das unidades de produtividade (para a camada padrão) ou unidades de processamento (para a camada premium). Para saber mais sobre as unidades de produtividade ou unidades de processamento: Escalabilidade de Hubs de Eventos.
Selecione Examinar + Criar na parte inferior da página.
Na página Examinar + Criar, examine as configurações e selecione Criar. Aguarde até que a implantação seja concluída.
Na página Implantação, selecione Ir para o recurso para navegar até a página de seu namespace.
Confirme que você vê a página Namespace dos Hubs de Eventos semelhante ao seguinte exemplo:
Criar um Hub de Evento
Para criar um hub de eventos dentro do namespace, faça o seguinte:
Na página de 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 Examinar + criar escolha 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.
Conceder ao namespace da Grade de Eventos o acesso necessário para enviar eventos para o hub de eventos
Na página Namespace de Hubs de Eventos, selecione Gerenciamento de Identidades e Acesso (IAM) no menu à esquerda.
Na página de Controle 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 de Hubs de Eventos do Azure na lista de funções e, a seguir, selecione Avançar, na parte inferior da página.
Na página Membros, siga essas etapas:
Para o campo Atribuir acesso a, selecione Identidade gerenciada.
Escolha + Selecionar membros.
Na página Selecionar identidades gerenciadas, siga estas etapas:
Selecione sua assinaturado Azure.
Para Identidade gerenciada, selecione Namespace da Grade de Eventos.
Selecione a identidade gerenciada que tem o mesmo nome do namespace da Grade de Eventos.
Escolha Selecionar na parte inferior da página.
Na página Adicionar atribuição de função, selecione Revisar + atribuir na parte inferior da página.
Na página Examinar + atribuir, selecione Examinar + atribuir.
Criar uma assinatura de eventos tendo Hubs de Eventos como ponto de extremidade
Alterne para a guia da janela do seu navegador da web que está com o namespace da 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 do namespace que você criou 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 Assinatura, siga essas etapas:
Insira um nome para a assinatura de evento.
Para o Modo Entrega, selecione Push.
Confirme se o Tipo de ponto de extremidade está definido como Hub de eventos.
Selecione Configurar um ponto de extremidade.
Na página Selecionar Hub de Eventos, siga essas etapas:
Selecione a Assinatura do Azure que contém o hub de eventos.
Selecione o grupo de recursos que inclui o hub de eventos.
Selecione o namespace de Hubs de Eventos.
Selecione o hub de eventos no namespace de Hubs de Eventos.
Em seguida, selecione Confirmar seleção.
De volta à página Criar Assinatura, selecione Atribuído pelo Sistema para o Tipo de identidade gerenciada.
Selecione Criar na parte inferior da página.
Configurar o roteamento no namespace da 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 breadcrumb na parte superior.
Na página Namespace da Grade de Eventos, selecione Roteamento no menu do lado esquerdo na seção Agente MQTT.
Na página Roteamento, selecione Habilitar roteamento.
Para Tipo de tópico, selecione Tópico do namespace.
Para Tópico, selecione o tópico do namespace da Grade de Eventos que você criou, para o qual todas as mensagens MQTT serão encaminhadas.
Escolha Aplicar.
Verifique as notificações para confirmar que o namespace está habilitado com as informações de roteamento.
Criar clientes, espaço de tópico e vinculações de permissão
Siga as etapas no início rápido: Publicar e fazer uma assinatura de um tópico MQTT para:
Criar um cliente. Você pode criar o segundo cliente se quiser, mas é opcional.
Criar um espaço de tópico.
Criar vinculações de permissão de fornecedor e assinante.
Usar o MQTTX para enviar algumas mensagens.
Verifique se o hub de eventos recebeu essas mensagens na página Visão geral do seu namespace de Hubs de Eventos.
Ver as mensagens MQTT encaminhadas nos Hubs de Eventos usando uma consulta do Stream Analytics
Navegue até a instância de Hubs de Eventos (um hub de eventos) em sua assinatura de eventos no portal do Azure. Processe os dados do seu hub de eventos usando o Stream Analytics. Para obter mais informações, confira Processar dados da plataforma 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óximas etapas
Para obter amostras de código, acesse esse repositório do GitHub.