O que é a Grade de Eventos do Azure?
A Grade de Eventos do Azure é um serviço de distribuição de mensagens de publicação/assinatura altamente escalonável e totalmente gerenciado que oferece padrões flexíveis de consumo de mensagens por meio dos protocolos MQTT e HTTP. Com a Grade de Eventos do Azure, você pode criar pipelines de dados com os 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 do HTTP, a Grade de Eventos permite que você crie soluções controladas por eventos em que um serviço de editor anuncia as alterações de estado do sistema (eventos) aos aplicativos assinantes. A Grade de Eventos pode ser configurada para enviar eventos aos assinantes (entrega push) ou os assinantes podem se conectar à Grade de Eventos para ler os eventos (entrega pull). A Grade de Eventos dá suporte à especificação CloudEvents 1.0 para fornecer interoperabilidade entre sistemas.
A Grade de Eventos do Azure é um serviço em disponibilidade geral implantado entre zonas de disponibilidade em todas as regiões que dão suporte a elas. Para ver a lista de regiões com suporte na Grade de Eventos, confira Produtos disponíveis por região.
Visão geral
A Grade de Eventos do Azure é usada em diferentes fases de pipelines de dados para atingir um conjunto diversificado de metas de integração.
Mensagens MQTT. Os dispositivos e aplicativos IoT podem se comunicar entre si por meio do MQTT. A Grade de Eventos também pode ser usada para rotear mensagens MQTT para serviços do Azure ou pontos de extremidade personalizados para análise, visualização ou armazenamento de dados adicionais. Essa integração aos serviços do Azure permite que você crie pipelines de dados que começam com a ingestão de dados dos seus dispositivos IoT.
Distribuição de dados usando os modos de entrega push e pull. A qualquer momento em um pipeline de dados, os aplicativos HTTP podem consumir as mensagens usando APIs de push ou pull. A fonte dos dados pode incluir dados de clientes MQTT, mas também inclui as seguintes fontes de dados que enviam eventos via HTTP:
- Serviços do Azure
- Seus aplicativos personalizados
- Sistemas (SaaS) de parceiros externos
O mecanismo de entrega por push da Grade de Eventos envia dados para destinos que incluem seus próprios webhooks de aplicativos e serviços do Azure.
Funcionalidades
A Grade de Eventos oferece uma sofisticada combinação de recursos. Esses recursos incluem:
Mensagens MQTT
- Suporte a MQTT v3.1.1 e MQTT v5.0 – Use qualquer biblioteca de clientes MQTT de código aberto para se comunicar com o serviço.
- Suporte a tópicos personalizados com curingas – Aproveite sua própria estrutura de tópicos.
- Modelo de mensagem de publicação/assinatura - Comunique-se de forma eficiente usando padrões de mensagens um-para-muitos, muitos-para-um e um-para-um.
- Integração com a nuvem interna - Direcione suas mensagens MQTT para serviços do Azure ou webhooks personalizados para processamento adicional.
- Modelo de controle de acesso flexível e granular - Agrupe clientes e tópicos para simplificar a gestão de controle de acesso e use o suporte a variáveis em modelos de tópicos para um controle de acesso mais granular.
- Métodos de autenticação do Agente MQTT - A autenticação por certificado X.509 é o padrão de autenticação do setor para dispositivos IoT, a autenticação do Microsoft Entra ID é o padrão de autenticação do Azure para aplicativos e a autenticação OAuth 2.0 (Token Web JSON) oferece uma opção leve, segura e flexível para clientes MQTT que não estão provisionados no Azure.
- Suporte a TLS 1.2 e TLS 1.3 - Proteja a comunicação do seu cliente usando protocolos de criptografia robustos.
- Suporte a várias sessões - Conecte seus aplicativos com várias sessões ativas para garantir a confiabilidade e a escalabilidade.
- MQTT sobre WebSockets - Habilite a conectividade para clientes em ambientes com restrições de firewall.
- Nomes de domínio personalizados - Permite que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade MQTT do namespace da Grade de Eventos, melhorando a segurança e simplificando a configuração do cliente.
- Eventos do Ciclo de Vida do Cliente - Permitem que os aplicativos reajam a eventos sobre o status da conexão do cliente ou sobre as operações de recursos do cliente.
Mensagens de evento (HTTP)
- Modelo flexível de consumo de eventos – ao usar HTTP, consuma os eventos usando o modo de entrega push ou pull.
- Eventos do sistema – Ative seus serviços rapidamente com os eventos internos do serviço do Azure.
- Seus eventos personalizados – Use a Grade de Eventos para rotear, filtrar e entregar de modo confiável eventos personalizados por meio do seu aplicativo.
- Eventos de parceiros – Assine os eventos do provedor de SaaS de parceiro e processe-os no Azure.
- Filtragem avançada – Filtre o tipo de evento ou outros atributos de evento para garantir que os manipuladores de eventos ou os aplicativos consumidores recebam apenas os eventos relevantes.
- Confiabilidade – A entrega push conta com 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 - Permite que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade HTTP do namespaces da Grade de Eventos, aumentando a segurança e simplificando a configuração do cliente.
Observação
Sobre a descontinuação do TLS 1.0 / 1.1: para os tópicos do sistema, você precisa tomar medidas apenas para a entrega de eventos para destinos de webhook. Se o destino der suporte ao TLS 1.2, a entrega do evento ocorrerá usando 1.2. Se o destino não der suporte ao TLS 1.2, a entrega do evento automaticamente reverterá para 1.0 e 1.1. Após 1º de março de 2025, não haverá mais suporte para a entrega de eventos com as versões 1.0 e 1.1. Verifique se seus destinos de webhook dão suporte ao TLS 1.2. Uma maneira fácil de verificar se há suporte ao TLS 1.2 é usar o Qualys SSL Labs. Se o relatório mostrar que o TLS 1.2 tem suporte, nenhuma ação será necessária. Para obter mais informações, consulte a seguinte postagem no blog: Desativação: alterações futuras do TLS para a Grade de Eventos do Azure
Casos de uso
A Grade de Eventos dá suporte aos seguintes casos de uso:
Mensagens MQTT
A Grade de Eventos permite que os 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 aos clientes que publicam e assinam mensagens via MQTT v3.1.1, MQTT v3.1.1 via WebSockets, MQTT v5 e MQTT v5 via WebSockets. 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.
A Grade de Eventos integra-se à Internet das Coisas do Azure MQ para fazer a ponte de sua funcionalidade de agente MQTT na borda com a funcionalidade do agente MQTT da Grade de Eventos na nuvem. A Internet das Coisas do Azure MQ é um novo agente MQTT distribuído para computação de borda, em execução em clusters Kubernetes habilitados para Arc. Agora está disponível em versão prévia pública como parte das Operações do Azure IoT.
O recurso de agente MQTT na Grade de Eventos é ideal para a implementação de cenários automotivos e de mobilidade, entre outros. Confira a arquitetura de referência para saber como criar soluções seguras e escalonáveis para conectar milhões de veículos à nuvem, usando os serviços de mensagens e análise de dados do Azure.
O recurso de agente MQTT da Grade de Eventos do Azure permite que você realize os seguintes cenários.
Ingerir a telemetria de IoT
Ingira a telemetria usando um padrão de mensagem muitos para um. Por exemplo, use a Grade de Eventos para enviar a telemetria de vários dispositivos IoT para um aplicativo de nuvem. Esse padrão permite que o aplicativo descarregue a carga de gerenciar o alto número de conexões com dispositivos para a Grade de Eventos.
Comando e controle
Controle os clientes MQTT usando o padrão de mensagem de solicitação-resposta (um para um). Por exemplo, use a Grade de Eventos para enviar um comando de um aplicativo de nuvem para um dispositivo IoT.
Transmitir alertas
Transmita alertas para uma frota de clientes usando o padrão de mensagem um para muitos. Por exemplo, use a Grade de Eventos para enviar um alerta de um aplicativo de nuvem para vários dispositivos IoT. Esse padrão permite que o aplicativo publique apenas uma mensagem que o serviço replica para cada cliente interessado.
Integrar dados MQTT
Integre dados de seus clientes MQTT roteando mensagens MQTT para serviços do Azure e pontos de extremidade personalizados por meio de entrega por push ou entrega por pull. Por exemplo, use a Grade de Eventos para rotear a telemetria dos seus dispositivos IoT para os Hubs de Eventos e, em seguida, para o Azure Stream Analytics a fim de obter insights da telemetria do dispositivo.
Entrega de eventos por push
A Grade de Eventos pode ser configurada para enviar eventos para um conjunto diversificado de serviços do Azure ou webhooks usando a entrega push de eventos. As origens de eventos incluem seus aplicativos personalizados, os serviços do Azure e os serviços de SaaS (parceiros) que publicam eventos anunciando as alterações de estado do sistema (também conhecidas como eventos "discretos"). Por sua vez, a Grade de Eventos fornece esses eventos para destinos de assinantes configurados.
A entrega push da Grade de Eventos permite que você realize os casos de uso a seguir.
Observação
A entrega por push está disponível nas camadas básica e padrão da Grade de Eventos. Para saber mais sobre as diferenças, consulte Escolha a camada certa da Grade de Eventos para a sua solução.
Criar soluções sem servidor controladas por eventos
Use a Grade de Eventos para criar soluções sem servidor com os aplicativos de funções do Azure, os Aplicativos Lógicos e o Gerenciamento de API. O uso de serviços sem servidor com a Grade de Eventos oferece a você um nível de produtividade, economia de esforço e integração superior ao oferecido pelos modelos de computação clássicos em que você precisa adquirir, gerenciar, proteger e manter toda a infraestrutura implantada.
Receber eventos dos serviços do Azure
A Grade de Eventos pode receber eventos de mais de 20 serviços do Azure para que você possa automatizar suas operações. Por exemplo, você pode configurar a Grade de Eventos para receber um evento quando um blob for criado em uma conta do Armazenamento do Azure para que seu aplicativo downstream possa ler e processar o conteúdo. Para ver uma lista de todos os serviços e eventos do Azure compatíveis, confira Tópicos do sistema.
Receber eventos dos seus aplicativos
Seu serviço ou aplicativo publica eventos na Grade de Eventos que são processados pelos aplicativos assinantes. Os recursos da Grade de Eventos apresentam Tópicos de Namespace para atender às necessidades de integração e roteamento em grande escala com um modelo de recurso simples. Você também pode usar Tópicos Personalizado para atender aos requisitos básicos de integração e Domínios para um modelo simples de gerenciamento e roteamento quando precisar distribuir eventos para centenas ou milhares de grupos diferentes.
Receber eventos de parceiros (provedores de SaaS)
Um provedor ou uma plataforma de SaaS multilocatário pode publicar eventos na Grade de Eventos por meio de um recurso chamado Eventos de Parceiros. Você pode assinar esses eventos e automatizar tarefas, por exemplo. Os eventos dos seguintes parceiros estão disponíveis no momento:
- Auth0
- API do Microsoft Graph. Por meio da API do Microsoft Graph, você pode obter eventos do Microsoft Entra ID, Microsoft Outlook, Teams, conversas, alertas de segurança e Impressão Universal.
- Tribal Group
- SAP
Manipuladores de eventos
Uma assinatura de evento é um recurso de configuração genérico que permite definir o manipulador de eventos ou o destino para o qual os eventos são enviados usando a entrega push. Por exemplo, você pode enviar dados para um Webhook, Função do Azure ou Hubs de Eventos. Para obter uma lista completa dos manipuladores de eventos compatíveis, 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 pull de eventos discretos
A Grade de Eventos do Azure traz a entrega pull do CloudEvents. Com esse modo de entrega, os clientes se conectam à Grade de Eventos para fazer a leitura dos eventos. Os casos de uso a seguir podem ser realizados por meio da entrega pull.
Receber eventos no seu ritmo
Um ou mais clientes podem se conectar à Grade de Eventos do Azure ler mensagens em um ritmo próprio. A Grade de Eventos oferece aos clientes controle completo sobre o consumo de eventos. Seu aplicativo pode receber eventos em determinadas horas do dia, por exemplo. Sua solução também pode aumentar a taxa de consumo adicionando mais clientes que leem eventos da Grade de Eventos.
Consumir eventos por meio de um link privado
Você pode configurar links privados para se conectar à Grade de Eventos do Azure a fim de publicar e ler CloudEvents por meio de um ponto de extremidade privado na sua rede virtual. O tráfego entre a rede virtual e a Grade de Eventos percorre a rede de backbone da Microsoft.
Importante
Os links privados estão disponíveis com a entrega por pull, não com a entrega por push. Você pode usar links privados quando seu aplicativo se conecta à Grade de Eventos para publicar eventos ou receber eventos, e não quando a Grade de Eventos se conecta ao webhook ou ao serviço do Azure para fornecer eventos.
Regiões em que o namespace da Grade de Eventos está disponível
Aqui está a lista de regiões em que os novos recursos de tópicos de namespace e agente MQTT estão disponíveis:
Region | Região | Região | Region |
---|---|---|---|
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 | Centro dos EUA | Leste da Ásia | 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 | Norte da Europa | Leste da Noruega |
Polônia Central | Oeste da África do Sul | Norte da África do Sul | Centro-Sul dos Estados Unidos |
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 | Europa Ocidental |
Oeste dos EUA 2 | Oeste dos EUA 3 | Centro-Oeste dos EUA |
Próximas etapas
Mensagens MQTT
- Visão geral
- Publicar e assinar mensagens MQTT
- Tutorial: Encaminhar mensagens MQTT para Hubs de Eventos do Azure usando tópicos de namespace
- Tutorial: Encaminhar mensagens MQTT para Azure Functions usando tópicos personalizados
Distribuição de dados usando a entrega pull ou push
- Visão geral da entrega pull.
- Visão geral da entrega push.
- Conceitos
- Guia de Início Rápido: Publicar e assinar eventos de aplicativo usando tópicos de namespace.