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.

Diagrama de alto nível da Grade de Eventos que mostra os editores e os assinantes usando os protocolos MQTT e HTTP.

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

Ao usar a entrega por push, a Grade de Eventos pode enviar dados para destinos que incluem webhooks de aplicativo 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.
  • Tópicos personalizados com suporte a curingas – Aproveite sua estrutura de tópicos.
  • Modelo de mensagens de publicação/assinatura – Comunique-se com eficiência usando os padrões de mensagens um para muitos, muitos para um e um para um.
  • Integração de nuvem interna – Roteie suas mensagens MQTT para serviços do Azure ou webhooks personalizados para processamento adicional.
  • Modelo de controle de acesso flexível e refinado – Agrupe clientes e tópicos para simplificar o gerenciamento de controle de acesso e use o suporte de variável em modelos de tópicos para obter um controle de acesso refinado.
  • Autenticação de certificado X.509 – Autentique seus dispositivos usando o mecanismo padrão do setor de IoT para autenticação.
  • Autenticação do Microsoft Entra ID (antigo Azure Active Directory) – autenticar seus aplicativos usando o mecanismo padrão do Azure para autenticação.
  • Suporte ao TLS 1.2 e TLS 1.3 – Proteja a comunicação do 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 via WebSockets – Habilite a conectividade para clientes em ambientes restritos ao firewall.

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. Usando a entrega pull, seu aplicativo tem controle completo sobre o consumo de eventos.
  • Alta taxa de transferência – Crie soluções integradas de alto volume com a Grade de Eventos.

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.

Diagrama de alto nível da Grade de Eventos que mostra a comunicação MQTT bidirecional com os clientes editores e assinantes.

O recurso de agente MQTT da Grade de Eventos do Azure permite que você realize os seguintes cenários.

Ingerir a telemetria de IoT

Diagrama de alto nível da Grade de Eventos que mostra os clientes IoT usando o protocolo MQTT para enviar mensagens a um aplicativo de nuvem.

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

Diagrama de alto nível da Grade de Eventos que mostra um aplicativo de nuvem enviando uma mensagem de comando via MQTT para um dispositivo usando tópicos de solicitação e resposta.

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

Diagrama de alto nível da Grade de Eventos que mostra um aplicativo de nuvem enviando uma mensagem de alerta via MQTT para vários dispositivos.

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

Diagrama que mostra vários dispositivos IoT enviando dados de integridade via MQTT para a Grade de Eventos e, em seguida, para os Hubs de Eventos e, desse serviço para o Azure Stream Analytics.

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 push de eventos discretos

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 de eventos discretos está disponível na camada básica da Grade de Eventos e na camada padrão da Grade de Eventos, para saber mais sobre as diferenças, confira escolher a camada de Grade de Eventos certa para sua solução.

Criar soluções sem servidor controladas por eventos

Diagrama que mostra o Azure Functions publicando eventos na Grade de Eventos via HTTP. Em seguida, a Grade de Eventos envia esses eventos aos Aplicativos Lógicos do Azure.

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

Diagrama que mostra o Armazenamento de Blobs publicando eventos na Grade de Eventos via HTTP. A Grade de Eventos envia esses eventos aos manipuladores de eventos, que são webhooks ou 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

Diagrama que mostra o aplicativo do cliente publicando eventos na Grade de Eventos via HTTP. A Grade de Eventos envia esses eventos aos webhooks ou aos serviços do Azure.

Seu serviço ou aplicativo publica eventos na Grade de Eventos que são processados pelos aplicativos assinantes. A Grade de Eventos traz Tópicos Personalizados para lidar com cenários básicos de integração e Domínios para oferecer um modelo simples de gerenciamento e roteamento quando você precisar distribuir eventos para centenas ou milhares de grupos diferentes.

Receber eventos de parceiros (provedores de SaaS)

Diagrama que mostra um aplicativo de parceiro externo publicando eventos na Grade de Eventos via HTTP. Em seguida, a Grade de Eventos envia esses eventos aos webhooks ou aos serviços do Azure.

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:

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. Há suporte para os seguintes manipuladores de eventos:

Entrega pull de eventos discretos

A Grade de Eventos do Azure traz a entrega pull do CloudEvents. Usando esse modo de entrega, os clientes se conectam à Grade de Eventos para ler eventos. Os casos de uso a seguir podem ser realizados por meio da entrega pull.

Receber eventos no seu ritmo

Diagrama de alto nível de um aplicativo editor e consumidor. O editor envia eventos à Grade de Eventos em um ritmo maior do que a taxa de consumo do evento do assinante.

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.

Diagrama de alto nível de um aplicativo consumidor em uma VNET lendo eventos da Grade de Eventos em um ponto de extremidade privado na VNET.

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:

  • Leste da Austrália
  • Sudeste da Austrália
  • Brazil South
  • Sudeste do Brasil
  • Canadá Central
  • Leste do Canadá
  • Índia Central
  • Centro dos EUA
  • Leste da Ásia
  • Leste dos EUA
  • Leste dos EUA 2
  • França Central
  • Centro-Oeste da Alemanha
  • Israel Central
  • Norte da Itália
  • Leste do Japão
  • Oeste do Japão
  • Coreia Central
  • Sul da Coreia
  • Centro-Norte dos EUA
  • Norte da Europa
  • Leste da Noruega
  • Polônia Central
  • Oeste da África do Sul
  • Centro-Sul dos Estados Unidos
  • Sul da Índia
  • Sudeste Asiático
  • Suécia Central
  • Norte da Suíça
  • Norte dos EAU
  • Sul do Reino Unido
  • Oeste do Reino Unido
  • Europa Ocidental
  • Oeste dos EUA 2
  • Oeste dos EUA 3

Próximas etapas

Mensagens MQTT

Distribuição de dados usando a entrega pull ou push

Confira também