Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Grade de Eventos do Azure é um serviço de publicação-assinatura altamente escalonável e totalmente gerenciado para distribuição de mensagens. A Grade de Eventos oferece padrões flexíveis de consumo de mensagens e usa os protocolos MQTT (Transporte de Telemetria de Enfileiramento de Mensagens) e HTTP. Com a Grade de Eventos, você pode criar pipelines de dados com dados do dispositivo, integrar aplicativos e criar arquiteturas sem servidor controladas por eventos.
A Grade de Eventos permite que os clientes publiquem e assinem mensagens por meio dos protocolos MQTT v3.1.1 e v5.0 para dar suporte a soluções de IoT (Internet das Coisas). Por meio de HTTP, você pode usar a Grade de Eventos para criar soluções orientadas a eventos em que um serviço de editor anuncia suas alterações de estado do sistema (eventos) em aplicativos assinantes. Você pode configurar a Grade de Eventos para enviar eventos aos assinantes (entrega por push) ou os assinantes podem se conectar à Grade de Eventos para ler eventos (entrega por pull). A Grade de Eventos dá suporte à especificação CloudEvents 1.0 para fornecer interoperabilidade entre sistemas.
Principais recursos
A Grade de Eventos tem dois recursos principais:
Mensagens MQTT: os aplicativos e dispositivos IoT podem se comunicar entre si por meio do MQTT. Você também pode usar a Grade de Eventos para rotear mensagens MQTT para serviços do Azure ou pontos de extremidade personalizados para análise, visualização ou armazenamento de dados adicionais. Usando essa integração com os serviços do Azure, você pode criar pipelines de dados que começam com a ingestão de dados de seus dispositivos IoT.
Distribuição de dados usando modos de entrega por push e pull: a qualquer momento em um pipeline de dados, os aplicativos HTTP podem consumir mensagens usando APIs push ou pull. A fonte dos dados pode incluir dados de clientes MQTT, mas também inclui as seguintes fontes de dados que enviam seus eventos por HTTP:
- Serviços do Azure
- Seus aplicativos personalizados
- Sistemas de parceiro externo (software como serviço)
O mecanismo de entrega por push da Grade de Eventos envia dados para destinos que incluem seus próprios webhooks de aplicativo e serviços do Azure. Aqui está uma olhada nesses dois recursos.
Mensagens MQTT
A Grade de Eventos permite que seus clientes se comuniquem em nomes de tópicos MQTT personalizados usando um modelo de mensagens de publicação-assinatura. A Grade de Eventos dá suporte a clientes que publicam e assinam mensagens via MQTT v3.1.1, MQTT v3.1.1 por WebSocket, MQTT v5 e MQTT v5 pelo WebSocket.
A Grade de Eventos também dá suporte a dispositivos e serviços que enviam mensagens MQTT por HTTPS, o que simplifica a integração com clientes não MQTT. A Grade de Eventos permite que você envie mensagens MQTT à nuvem para análise de dados, armazenamento e visualizações, entre outros casos de uso. Esse recurso está atualmente em versão prévia.
A Grade de Eventos integra-se às Operações de IoT do Azure para fazer a ponte de sua funcionalidade de agente MQTT na borda com a funcionalidade do agente MQTT da Grade de Eventos na nuvem. O agente MQTT do Azure IoT é um novo agente MQTT distribuído para computação de borda executado em clusters kubernetes habilitados para Azure Arc. Agora está disponível como parte das Operações de IoT do Azure.
O recurso de agente MQTT na Grade de Eventos é ideal para os cenários automotivo, de mobilidade e de fabricação, entre outros. Para saber como criar soluções seguras e escalonáveis para conectar milhões de clientes MQTT à nuvem usando serviços de análise de dados e mensagens do Azure, consulte as arquiteturas de referência automotiva e de fabricação .
Destaques do suporte a mensagens MQTT na Grade de Eventos:
- Suporte a MQTT v3.1.1 e MQTT v5.0: usa qualquer biblioteca de clientes MQTT de software livre para se comunicar com o serviço.
- Tópicos personalizados com suporte curinga: usa sua própria estrutura de tópicos.
- Modelo de mensagens de publicação-assinatura: comunica-se com eficiência usando padrões de mensagens um-para-muitos, muitos para um e um-para-um.
- Integração de nuvem interna: roteia suas mensagens MQTT para serviços do Azure ou webhooks personalizados para processamento adicional.
- Modelo de controle de acesso flexível e refinado: agrupa clientes e tópicos para simplificar o gerenciamento de controle de acesso. Usa o suporte de variável em modelos de tópico para controle de acesso refinado.
- Métodos de autenticação do agente MQTT: usa a autenticação de certificado X.509, um padrão de autenticação do setor para dispositivos IoT. Usa a autenticação da ID do Microsoft Entra, um padrão de autenticação do Azure para aplicativos. Usa padrões de autenticação flexíveis, como a autenticação JWT (Token Web JSON) OAuth 2.0, que é leve e segura para clientes MQTT que não são provisionados no Azure. Usa a autenticação de webhook personalizada, que permite que pontos de extremidade HTTP externos (webhooks) autentiquem conexões MQTT dinamicamente. Esse método usa a validação JWT da ID do Entra para garantir o acesso seguro.
- Suporte ao TLS (Transport Layer Security) 1.2 e TLS 1.3: protege a comunicação do cliente usando protocolos de criptografia robustos.
- Suporte a várias sessões: conecta seus aplicativos com várias sessões ativas para garantir a confiabilidade e a escalabilidade.
- MQTT via WebSocket: habilita a conectividade para clientes em ambientes restritos ao firewall.
- Nomes de domínio personalizados: permite que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade MQTT de um namespace da Grade de Eventos, o que aprimora a segurança e simplifica a configuração do cliente.
- Eventos de ciclo de vida do cliente: permite que os aplicativos reajam a eventos sobre o status da conexão do cliente ou as operações de recurso do cliente.
- Publicação HTTP: permite que dispositivos e serviços enviem mensagens MQTT para a Grade de Eventos por HTTPS, o que simplifica a integração com clientes não MQTT.
- Retenção de MQTT: garante que a última mensagem conhecida em um tópico seja entregue automaticamente a novos assinantes, o que permite a sincronização de estado instantânea.
Para obter mais informações sobre o agente MQTT, consulte os seguintes artigos:
- Visão geral
- Publicar e assinar mensagens MQTT
- Tutorial: Rotear mensagens MQTT para Os Hubs de Eventos do Azure usando tópicos de namespace
- Tutorial: Rotear mensagens MQTT para o Azure Functions usando tópicos personalizados
Mensagens de evento (HTTP)
A Grade de Eventos dá suporte à entrega de eventos por push e pull usando HTTP. Com a entrega por push, você define um destino em uma assinatura de evento para a qual a Grade de Eventos envia eventos. Com a entrega pull, os aplicativos assinantes se conectam à Grade de Eventos para consumir os eventos. A entrega de pull tem suporte para tópicos em um namespace da Grade de Eventos.
Manipuladores de eventos
Na entrega por push, uma assinatura de evento é um recurso de configuração genérico que você pode usar para definir o manipulador de eventos ou o destino para o qual os eventos são enviados usando a entrega por push. Por exemplo, você pode enviar dados para um webhook, uma função do Azure ou hubs de eventos. Para obter uma lista completa de manipuladores de eventos com suporte, consulte:
- Manipuladores de eventos com suporte para tópicos de namespace.
- Manipuladores de eventos com suporte para tópicos personalizados, de sistema, de domínio e de parceiros.
Entrega por push vs. entrega por pull
As diretrizes gerais a seguir ajudam você a decidir quando usar a entrega por push ou pull.
Entrega pull
- Você precisa de controle total sobre quando receber eventos. Por exemplo, seu aplicativo pode não estar pronto o tempo todo ou não está estável o suficiente. Você também pode processar dados apenas em determinados momentos.
- Você precisa obter controle completo sobre o consumo de eventos. Por exemplo, um serviço downstream ou camada em seu aplicativo de consumidor pode ter um problema que impede que você processe eventos. Nesse caso, a API de entrega por pull permite que o aplicativo consumidor libere um evento já lido de volta para o agente para entrega posteriormente.
- Você deseja usar links privados quando receber eventos, o que é possível apenas com a entrega de pull, não com a entrega por push.
- Você não tem a capacidade de expor um ponto de extremidade e usar a entrega push, mas pode se conectar à Grade de Eventos para consumir eventos.
Entrega push
- Você deseja evitar a sondagem constante para determinar se ocorreu uma alteração de estado do sistema. Em vez disso, você deseja usar a Grade de Eventos para enviar eventos quando ocorrem alterações de estado.
- Você tem um aplicativo que não pode fazer chamadas de saída. Por exemplo, sua organização talvez esteja preocupada com a exfiltração dos dados. No entanto, seu aplicativo pode receber eventos por meio de um ponto de extremidade público.
Realces do modelo HTTP:
- Modelo de consumo de eventos flexível: consuma eventos usando o modo de entrega por push ou pull quando você usa HTTP.
- Eventos do sistema: comece a funcionar rapidamente com eventos de serviço internos do Azure.
- Seus próprios eventos de aplicativo: use a Grade de Eventos para rotear, filtrar e fornecer eventos personalizados de maneira confiável de seu aplicativo.
- Eventos de parceiro: assine os eventos do provedor SaaS do parceiro e processe-os no Azure.
- Filtragem avançada: filtre no tipo de evento ou em outros atributos de evento para garantir que seus manipuladores de eventos ou aplicativos de consumidor recebam apenas eventos relevantes.
- Confiabilidade: a entrega por push apresenta um mecanismo de repetição de 24 horas com retirada exponencial para garantir que os eventos sejam entregues. Se você usar a entrega por pull, sua aplicação terá controle total sobre o consumo de eventos.
- Alta taxa de transferência: crie soluções integradas de alto volume com a Grade de Eventos.
- Nomes de domínio personalizados: permitir que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade HTTP de um namespace da Grade de Eventos, o que aprimora a segurança e simplifica a configuração do cliente.
Para obter mais informações, consulte os seguintes artigos:
- Visão geral da entrega de pull
- Visão geral da entrega por push
- Conceitos
- Início Rápido: Publicar e assinar eventos de aplicativo usando tópicos de namespace
Casos de uso
Para obter uma lista de casos de uso em que você pode usar a Grade de Eventos, consulte Casos de uso.
Regiões com suporte
Os novos recursos de tópicos de namespace e agente MQTT estão disponíveis nas regiões a seguir.
| Região | Região | Região | Região |
|---|---|---|---|
| Leste da Austrália | Sudeste da Austrália | Austrália Central | Austrália Central 2 |
| Sul do Brasil | Sudeste do Brasil | Canadá Central | Leste do Canadá |
| Índia Central | EUA Central | Ásia Oriental | Leste dos EUA |
| Leste dos EUA 2 | Oeste dos EUA | França Central | Sul da França |
| Norte da Alemanha | Centro-oeste da Alemanha | Israel Central | Norte da Itália |
| Leste do Japão | Oeste do Japão | Coreia Central | Sul da Coreia |
| México Central | Centro-Norte dos EUA | Europa Setentrional | Leste da Noruega |
| Polônia Central | Oeste da África do Sul | Norte da África do Sul | Centro-Sul dos EUA |
| Sul da Índia | Sudeste Asiático | Espanha Central | Suécia Central |
| Sul da Suécia | Norte da Suíça | Oeste da Suíça | Norte dos EAU |
| EAU Central | Sul do Reino Unido | Oeste do Reino Unido | Oeste da Europa |
| Oeste dos EUA 2 | Oeste dos EUA 3 | Centro-oeste dos EUA |