Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Grade de Eventos do Azure permite que seus clientes MQTT se comuniquem entre si e com os serviços do Azure, para dar suporte às suas soluções de Internet das Coisas (IoT). O recurso de agente MQTT da Grade de Eventos do Azure permite que você realize os seguintes cenários. Você pode encontrar exemplos de código que demonstram esses cenários neste repositório.
- Ingerir telemetria usando um padrão de mensagens muitos-para-um. Esse padrão permite que o aplicativo alivie a carga de gerenciar o alto número de conexões com dispositivos para a Grade de Eventos.
- Controle seus clientes MQTT usando o padrão de mensagens solicitação-resposta (um-para-um). Esse padrão permite que qualquer cliente se comunique com qualquer outro cliente sem restrições, independentemente das funções dos clientes.
- Transmita alertas para um grupo de clientes usando o modelo de comunicação um-para-muitos. Esse padrão permite que o aplicativo publique apenas uma mensagem que o serviço replica para cada cliente interessado.
- Integre dados de seus clientes MQTT roteando mensagens MQTT para serviços do Azure e Webhooks por meio da funcionalidade de entrega HTTP Push. Essa integração com os serviços do Azure permite que você crie pipelines de dados que começam com a ingestão de dados de seus dispositivos IoT.
O broker MQTT é ideal para a implementação de cenários automotivos, de mobilidade e de fabricação, entre outros. Consulte as arquiteturas de referência - automotiva e de fabricação para saber como criar soluções seguras e escaláveis para conectar milhões de clientes MQTT à nuvem, usando os serviços de mensagens e análise de dados do Azure.
Conceitos-chave
A seguir está uma lista dos principais conceitos envolvidos no recurso de agente MQTT da Grade de Eventos do Azure.
MQTT
O MQTT é um protocolo de transporte de mensagens de publicação-assinatura que foi projetado para ambientes restritos. É o padrão de comunicação preferido para cenários de IoT devido à eficiência, escalabilidade e fiabilidade. O broker MQTT permite que os clientes publiquem e façam a subscrição de mensagens sobre os protocolos MQTT v3.1.1, MQTT v3.1.1 sobre WebSockets, MQTT v5 e MQTT v5 sobre WebSockets. A lista a seguir mostra alguns dos destaques das características do broker MQTT:
Características do MQTT v5:
- Last Will and Testament notifica os seus clientes MQTT com as desconexões súbitas de outros clientes MQTT. Você pode usar esse recurso para garantir um fluxo previsível e confiável de comunicação entre os clientes MQTT durante desconexões inesperadas.
- As propriedades do usuário permitem que você adicione pares chave-valor personalizados no cabeçalho da mensagem para fornecer mais contexto sobre a mensagem. Por exemplo, inclua a finalidade ou a origem da mensagem para que o recetor possa lidar com a mensagem de forma eficiente.
- O padrão solicitação-resposta permite que seus clientes aproveitem o padrão assíncrono de solicitação-resposta padrão, especificando o tópico de resposta e o ID de correlação na solicitação para que o cliente responda sem configuração prévia.
- O intervalo de expiração da mensagem permite que você declare ao corretor MQTT quando ignorar uma mensagem que não é mais relevante ou válida. Por exemplo, desconsidere comandos ou alertas obsoletos.
- Os aliases de tópico ajudam seus clientes a reduzir o tamanho do campo de tópico, tornando a transferência de dados menos dispendiosa.
- O tamanho máximo da mensagem permite que seus clientes controlem o tamanho máximo de mensagem que eles podem manipular a partir do servidor.
- O Receive Maximum permite que seus clientes controlem a taxa de mensagens dependendo de seus recursos, como velocidade de processamento ou recursos de armazenamento.
- O início limpo e a expiração da sessão permitem que seus clientes otimizem a confiabilidade e a segurança da sessão, preservando as informações e mensagens de assinatura do cliente por um intervalo de tempo configurável.
- Os reconhecimentos negativos permitem que os seus clientes reajam eficientemente a diferentes códigos de erro.
- Os pacotes de desconexão enviados pelo servidor permitem que seus clientes lidem com desconexões de forma eficiente.
Características do MQTT v3.1.1:
- Last Will and Testament notifica os seus clientes MQTT com as desconexões súbitas de outros clientes MQTT. Você pode usar esse recurso para garantir um fluxo previsível e confiável de comunicação entre os clientes MQTT durante desconexões inesperadas.
- As sessões persistentes garantem a confiabilidade preservando as informações e mensagens de assinatura do cliente quando um cliente se desconecta.
- QoS 0 e 1 fornecem aos seus clientes o controle sobre a eficiência e confiabilidade da comunicação.
O corretor MQTT está adicionando mais recursos MQTT v5 e MQTT v3.1.1 no futuro para se alinhar mais com as especificações MQTT. Os itens a seguir detalham as diferenças atuais entre os recursos suportados pelo broker MQTT e as especificações MQTT v5: o sinalizador de retenção e o QoS 2 não são suportados.
Saiba mais sobre o broker MQTT e as limitações atuais.
Modelo de mensagens de Publicação e Subscrição
O modelo de mensagens de publicação-assinatura fornece uma comunicação escalável e assíncrona para os clientes. Ele permite que os clientes aliviem a carga de lidar com um grande número de conexões e mensagens para o serviço. Por meio do modelo de mensagens Publicar-Subscrever, os seus clientes podem comunicar-se de forma eficiente usando padrões de mensagens um-para-muitos, muitos-para-um e um-para-um.
- O padrão de mensagens um-para-muitos permite que os clientes publiquem uma única mensagem que o serviço irá replicar para cada cliente interessado.
- O padrão de mensagens muitos-para-um permite que os clientes aliviem o fardo de gerenciar o alto número de conexões com o broker MQTT.
- O padrão de mensagens um-para-um permite que qualquer cliente se comunique com qualquer outro cliente sem restrições, independentemente das funções dos clientes.
Espaço de Nomes
Event Grid Namespace é um contêiner de gerenciamento para os recursos que suportam a funcionalidade do broker MQTT, juntamente com os recursos que suportam a funcionalidade pull delivery. Seu cliente MQTT pode se conectar ao broker MQTT e publicar/assinar mensagens, enquanto o broker MQTT autentica seus clientes, autoriza solicitações de publicação/assinatura e encaminha mensagens para clientes interessados. Saiba mais sobre o conceito de namespace.
Clientes
Os clientes referem-se a dispositivos ou aplicativos IoT que publicam e assinam mensagens MQTT.
Os dispositivos IoT são objetos físicos conectados à internet para transmitir telemetria e receber comandos. Esses dispositivos podem ser sensores, aparelhos, máquinas ou outros objetos equipados com sensores e software incorporados. Os sensores e o software permitem-lhes comunicar e interagir uns com os outros e com o ambiente que os rodeia. O valor dos dispositivos IoT reside na sua capacidade de fornecer dados e insights em tempo real, permitindo que empresas e indivíduos tomem decisões informadas e melhorem a eficiência e a produtividade.
Os aplicativos IoT são softwares projetados para interagir e processar dados de dispositivos IoT. Eles geralmente incluem componentes como coleta, processamento, armazenamento, visualização e análise de dados. Esses aplicativos permitem que os usuários monitorem e controlem dispositivos conectados, automatizem tarefas e obtenham insights dos dados gerados por dispositivos IoT.
Autenticação de cliente
A Grade de Eventos tem um registro de cliente que armazena informações sobre os clientes autorizados a se conectar a ela. Antes que um cliente possa se conectar, deve haver uma entrada para esse cliente no registro do cliente. À medida que um cliente se conecta ao broker MQTT, ele precisa se autenticar com o broker MQTT com base nas credenciais armazenadas no registro de identidade. O broker MQTT suporta os seguintes mecanismos de autenticação de cliente:
- Autenticação de certificado X.509, que é o padrão de autenticação do setor em dispositivos IoT.
- Autenticação do Microsoft Entra ID, que é o padrão de autenticação do Azure para aplicativos. Saiba mais sobre a autenticação de cliente MQTT.
- Autenticações flexíveis
- Autenticação OAuth 2.0 JSON Web Token (JWT), que fornece uma opção leve, segura e flexível para clientes MQTT que não são provisionados no Azure.
- A autenticação Webhook personalizada permite que pontos de extremidade HTTP externos (webhooks) autentiquem conexões MQTT dinamicamente. Ele usa a validação JWT do Entra ID para garantir acesso seguro.
Controlo de acesso
O controle de acesso é crítico para cenários de IoT, considerando a enorme escala de ambientes de IoT e os desafios de segurança exclusivos de dispositivos restritos. A Grade de Eventos oferece Controle de Acesso Baseado em Funções (RBAC) através de um modelo de controle de acesso flexível que permite gerir a autorização de clientes para publicarem ou subscreverem a tópicos.
Dada a enorme escala de ambientes IoT, atribuir permissão para cada cliente para cada tópico é incrivelmente tedioso. O controle de acesso flexível da Event Grid enfrenta esse desafio de escala agrupando clientes e tópicos em grupos de clientes e espaços de tópicos. Depois de criar grupos de clientes e espaços de tópicos, você pode configurar uma associação de permissão para conceder acesso a um grupo de clientes para publicar ou assinar um espaço de tópico.
Os espaços de tópico também fornecem controle de acesso granular, permitindo que você controle a autorização de cada cliente dentro de um grupo de clientes para publicar ou assinar seu próprio tópico. Esse controle de acesso granular é obtido usando variáveis em modelos de tópico. Saiba mais sobre controle de acesso.
Encaminhamento
A Grade de Eventos permite que você roteie suas mensagens MQTT para serviços do Azure ou webhooks para processamento posterior. Assim, você pode criar soluções de ponta a ponta usando seus dados de IoT para análise, armazenamento e visualizações de dados, entre outros casos de uso. A configuração de roteamento permite que você envie todas as suas mensagens MQTT dos seus clientes para um tópico de namespace do Event Grid ou um tópico personalizado do Event Grid. Quando as mensagens estiverem no tópico, você poderá configurar uma assinatura de evento para consumir as mensagens do tópico. Por exemplo, essa funcionalidade permite que você use a Grade de Eventos para rotear a telemetria de seus dispositivos IoT para Hubs de Eventos e, em seguida, para o Azure Stream Analytics para obter informações da telemetria do dispositivo. Saiba mais sobre roteamento.
Eventos MQTT para fluxos de eventos do Microsoft Fabric (Versão Prévia)
Encaminhe mensagens MQTT e eventos de nuvem do namespace de grade de eventos para fluxos de eventos de malha para análise, armazenamento e visualização de dados de IoT em tempo real.
Integração do broker MQTT Edge
A Grade de Eventos integra-se às Operações IoT do Azure para unir sua capacidade de agente MQTT na borda com o recurso de agente MQTT da Grade de Eventos do Azure na nuvem. O Azure IoT Operations fornece um novo corretor MQTT distribuído para computação de extremidade, executado em clusters Kubernetes habilitados para Arc. Pode conectar-se ao broker MQTT do Event Grid com autenticação Microsoft Entra ID, usando uma identidade gerida atribuída pelo sistema, o que simplifica a gestão de credenciais. O MQTT Broker oferece alta disponibilidade, escalabilidade e segurança para seus dispositivos e aplicativos IoT. Agora está disponível em pré-visualização pública como parte das Operações IoT do Azure. Saiba mais sobre como ligar o Broker MQTT do Azure IoT às funcionalidades do Broker MQTT do Azure Event Grid.
Eventos do ciclo de vida dos clientes MQTT
Os eventos do Ciclo de Vida do Cliente permitem que os aplicativos reajam a eventos sobre o status da conexão do cliente ou as operações de recursos do cliente. Ele permite que você acompanhe o status da conexão do cliente, reaja com uma ação de mitigação para desconexões do cliente e rastreie o namespace ao qual seus clientes estão conectados durante failovers automatizados. Saiba mais sobre os Eventos do Ciclo de Vida do Cliente MQTT.
Nomes de domínio personalizados
O suporte a nomes de domínio personalizados permite que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade MQTT e HTTP do namespace Event Grid, aumentando a segurança e simplificando a configuração do cliente. Esse recurso ajuda as empresas a atender aos seus requisitos de segurança e conformidade e elimina a necessidade de modificar clientes já vinculados ao domínio. A atribuição de um nome de domínio personalizado a vários namespaces também pode ajudar a melhorar a disponibilidade, gerenciar a capacidade e lidar com a mobilidade de clientes entre regiões. Saiba mais sobre Nomes de domínio personalizados.
Conceitos
Consulte os seguintes artigos para compreender os conceitos do corretor MQTT na Grade de Eventos do Azure.
- Terminologia
- Autenticação do cliente
- Controlo de acesso
- Suporte ao protocolo MQTT
- Roteamento de mensagens MQTT
- Eventos do Ciclo de Vida do Cliente MQTT.
Conteúdos relacionados
Use os artigos a seguir para saber mais sobre o broker MQTT e seus principais conceitos.