O que é o Azure Event Grid?

A Grade de Eventos do Azure é um serviço de distribuição de mensagens Pub Sub altamente escalável e totalmente gerenciado que oferece padrões flexíveis de consumo de mensagens usando os protocolos MQTT e HTTP. Com a Grade de Eventos do Azure, você pode criar pipelines de dados com dados de dispositivo, integrar aplicativos e criar arquiteturas sem servidor orientadas a eventos. O Event Grid permite que os clientes publiquem e assinem mensagens através dos protocolos MQTT v3.1.1 e v5.0 para suportar soluções de Internet das Coisas (IoT). Através do HTTP, a Grade de Eventos permite que você crie soluções orientadas a eventos em que um serviço de editor anuncia suas alterações de estado do sistema (eventos) para aplicativos de assinante. A Grade de Eventos pode ser configurada para enviar eventos aos assinantes (entrega por push) ou os assinantes podem se conectar à Grade de Eventos para ler eventos (entrega pull). O Event Grid suporta a especificação CloudEvents 1.0 para fornecer interoperabilidade entre sistemas.

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

A Grade de Eventos do Azure é um serviço geralmente disponível implantado em zonas de disponibilidade em todas as regiões que oferecem suporte a elas. Para obter uma lista de regiões suportadas pela Grade de Eventos, consulte Produtos disponíveis por região.

Descrição geral

A Grade de Eventos do Azure é usada em diferentes estágios de pipelines de dados para atingir um conjunto diversificado de metas de integração.

Mensagens MQTT. Dispositivos e aplicativos IoT podem se comunicar entre si por 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 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.

Distribuição de dados usando modos de entrega push e pull. Em qualquer ponto de 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
  • As suas aplicações personalizadas
  • Sistemas de parceiros externos (SaaS)

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.

Capacidades

A Grade de Eventos oferece uma rica mistura de recursos. Estas funcionalidades incluem:

Mensagens MQTT

  • Suporte a MQTT v3.1.1 e MQTT v5.0 – Use qualquer biblioteca de cliente MQTT de código aberto para se comunicar com o serviço.
  • Tópicos personalizados com suporte a curingas - Aproveite sua própria estrutura de tópicos.
  • Modelo de mensagens 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 de nuvem integrada - Encaminhe suas mensagens MQTT para serviços do Azure ou webhooks personalizados para processamento posterior.
  • 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 variável em modelos de tópico para um controle de acesso refinado.
  • Métodos - de autenticação do agente MQTT A autenticação de certificado X.509 é o padrão de autenticação do setor em dispositivos IoT, a autenticação de ID do Microsoft Entra é o padrão de autenticação do Azure para aplicativos e a autenticação OAuth 2.0 (JSON Web Token) fornece uma opção leve, segura e flexível para clientes MQTT que não sã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 confiabilidade e escalabilidade.
  • MQTT sobre WebSockets - Habilite a conectividade para clientes em ambientes restritos por 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 Event Grid, aumentando a segurança e simplificando a configuração do cliente.
  • Eventos do 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 recursos do cliente.

Mensagens de eventos (HTTP)

  • Modelo flexível de consumo de eventos – ao usar HTTP, consuma eventos usando o modo de entrega pull ou push.
  • Eventos do sistema – Comece a trabalhar rapidamente com eventos de serviço internos do Azure.
  • Eventos do seu próprio aplicativo - Use a Grade de Eventos para rotear, filtrar e entregar eventos personalizados de forma confiável a partir do seu aplicativo.
  • Eventos de parceiros – Inscreva-se nos eventos do provedor de SaaS do seu parceiro e processe-os no Azure.
  • Filtragem avançada – filtre por tipo de evento ou 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 24 horas com recuo exponencial para garantir que os eventos sejam entregues. Se você usar a entrega pull, seu aplicativo terá controle total sobre o consumo de eventos.
  • Alto rendimento - Crie soluções integradas de alto volume com o Event Grid.
  • Nomes de domínio personalizados - Permite que os usuários atribuam seus próprios nomes de domínio aos pontos de extremidade HTTP do namespace Event Grid, aumentando a segurança e simplificando a configuração do cliente.

Nota

Em relação à preterição do TLS 1.0 / 1.1: Para tópicos do sistema, você precisa agir apenas para a entrega do evento para destinos de webhook. Se o destino suportar TLS 1.2, a entrega do evento acontece usando 1.2. Se o destino não suportar TLS 1.2, a entrega do evento voltará automaticamente para 1.0 e 1.1. Após 1º de março de 2025, a entrega de eventos usando 1.0 e 1.1 não será suportada. Certifique-se de que seus destinos de webhook suportem TLS 1.2. Uma maneira fácil de verificar o suporte a TLS 1.2 é usar o Qualys SSL Labs. Se o relatório mostrar que o TLS 1.2 é suportado, nenhuma ação será necessária. Para obter mais informações, consulte a seguinte postagem no blog: Aposentadoria: próximas alterações de TLS para a Grade de Eventos do Azure

Casos de utilização

A Grade de Eventos suporta os seguintes casos de uso:

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 suporta clientes que publicam e assinam mensagens sobre MQTT v3.1.1, MQTT v3.1.1 sobre WebSockets, MQTT v5 e MQTT v5 sobre WebSockets. O Event Grid permite enviar mensagens MQTT para a nuvem para análise de dados, armazenamento e visualizações, entre outros casos de uso.

A Grade de Eventos integra-se ao Azure IoT MQ para unir sua capacidade de agente MQTT na borda com a capacidade de agente MQTT da Grade de Eventos na nuvem. O Azure IoT MQ é um novo agente MQTT distribuído para computação de borda, executado em clusters Kubernetes habilitados para Arc. Agora está disponível em pré-visualização pública como parte das Operações IoT do Azure.

O recurso de agente MQTT na Grade de Eventos do Azure é ideal para a implementação de cenários automotivos e de mobilidade, entre outros. Consulte a arquitetura de referência para saber como criar soluções seguras e escalá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 clientes editores e assinantes.

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

Ingerir telemetria IoT

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

Ingerir telemetria usando um padrão de mensagens muitos-para-um. Por exemplo, use a Grade de Eventos para enviar telemetria de vários dispositivos IoT para um aplicativo em nuvem. 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.

Comando e controlo

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

Controle seus clientes MQTT usando o padrão de mensagem solicitação-resposta (um-para-um). Por exemplo, use a Grade de Eventos para enviar um comando de um aplicativo na nuvem para um dispositivo IoT.

Alertas de transmissão

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

Transmita alertas para uma frota de clientes usando o padrão de mensagens 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.

Integre dados MQTT

Diagrama que mostra vários dispositivos IoT enviando dados de integridade pelo MQTT para a Grade de Eventos, depois para Hubs de Eventos e deste 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 push delivery ou pull delivery. Por exemplo, 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.

Envio push de eventos

A Grade de Eventos pode ser configurada para enviar eventos para um conjunto diversificado de serviços do Azure ou webhooks usando a entrega de eventos por push. As fontes de eventos incluem seus aplicativos personalizados, serviços do Azure e serviços de parceiros (SaaS) que publicam eventos anunciando alterações no estado do sistema (também conhecidos como eventos "discretos"). Por sua vez, a Grade de Eventos entrega esses eventos aos destinos dos assinantes configurados.

A entrega por push do Event Grid permite que você realize os seguintes casos de uso.

Nota

A entrega por push 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, consulte escolher a camada de Grade de Eventos certa para sua solução.

Crie soluções sem servidor orientadas a eventos

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

Use a Grade de Eventos para criar soluções sem servidor com Aplicativos do Azure Functions, Aplicativos Lógicos e Gerenciamento de API. O uso de serviços sem servidor com o Event Grid proporciona um nível de produtividade, economia de esforço e integração superior ao dos modelos de computação clássicos, onde você precisa adquirir, gerenciar, proteger e manter toda a infraestrutura implantada.

Receber eventos dos serviços do Azure

Diagrama que mostra eventos de publicação do Armazenamento de Blobs na Grade de Eventos via HTTP. A Grade de Eventos envia esses eventos para manipuladores de eventos, que são webhooks ou serviços do Azure.

A Grade de Eventos pode receber eventos 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 novo blob tiver sido criado em uma Conta de Armazenamento do Azure para que seu aplicativo downstream possa ler e processar seu conteúdo. Para obter uma lista de todos os serviços e eventos do Azure com suporte, consulte Tópicos do sistema.

Receba eventos das suas aplicações

Diagrama que mostra eventos de publicação do aplicativo cliente na Grade de Eventos usando HTTP. A Grade de Eventos envia esses eventos para webhooks ou serviços do Azure.

Seu próprio serviço ou aplicativo publica eventos na Grade de Eventos que os aplicativos de assinante processam. A Grade de Eventos apresenta Tópicos de Namespace para abordar os requisitos de integração e roteamento em escala com um modelo de recurso simples. Você também pode usar Tópicos Personalizados 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 (fornecedores de SaaS)

Diagrama que mostra um evento de publicação de aplicativo de parceiro externo na Grade de Eventos usando HTTP. A Grade de Eventos envia esses eventos para webhooks ou serviços do Azure.

Um provedor ou plataforma de SaaS multilocatário pode publicar seus eventos na Grade de Eventos por meio de um recurso chamado Eventos de Parceiros. Você pode assinar esses eventos e automatizar tarefas, por exemplo. Eventos dos seguintes parceiros estão atualmente disponíveis:

Processadores 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 por 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 suportados, consulte:

  • Manipuladores de eventos suportados em tópicos de namespace.
  • Manipuladores de eventos suportados em tópicos personalizados, de sistema, de domínio e de parceiros.

Entrega puxada de eventos discretos

Os recursos da Grade de Eventos do Azure puxam a entrega do CloudEvents. Com esse modo de entrega, os clientes se conectam à Grade de Eventos para ler eventos. Os seguintes casos de uso podem ser realizados usando a entrega pull.

Receba eventos ao seu próprio ritmo

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

Um ou mais clientes podem se conectar à Grade de Eventos do Azure para ler mensagens em seu próprio ritmo. O Event Grid oferece aos clientes controle total sobre o consumo de eventos. Seu aplicativo pode receber eventos em determinados momentos do dia, por exemplo. Sua solução também pode aumentar a taxa de consumo adicionando mais clientes que leem a partir da Grade de Eventos.

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

Você pode configurar links privados para se conectar à Grade de Eventos do Azure para publicar e ler CloudEvents por meio de um ponto de extremidade privado em sua rede virtual. O tráfego entre sua rede virtual e a Grade de Eventos percorre a rede de backbone da Microsoft.

Importante

Links privados estão disponíveis com entrega pull, não com entrega push. Você pode usar links privados quando seu aplicativo se conecta à Grade de Eventos para publicar ou receber eventos, não quando a Grade de Eventos se conecta ao seu webhook ou serviço do Azure para entregar eventos.

Regiões onde o namespace Grade de Eventos está disponível

Aqui está a lista de regiões onde os novos recursos de tópicos de broker e namespace MQTT estão disponíveis:

Region Region Region Region
Leste da Austrália Sudeste da Austrália Austrália Central Austrália Central 2
Brasil do Sul Brasil Sudeste Canadá Central Leste do Canadá
Índia Central E.U.A. Central Ásia Leste E.U.A. Leste
E.U.A. Leste 2 E.U.A. Oeste França Central Sul de França
Norte da Alemanha Alemanha Centro-Oeste Israel Central Norte da Itália
Leste do Japão Oeste do Japão Coreia do Sul Central Sul da Coreia do Sul
México Central E.U.A. Centro-Norte Europa do Norte Leste da Noruega
Polónia Central Oeste da África do Sul Norte da África do Sul E.U.A. Centro-Sul
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 E.A.U.
E.A.U. Central Sul do Reino Unido Oeste do Reino Unido Europa Ocidental
E.U.A. Oeste 2 EUA Oeste 3 E.U.A. Centro-Oeste

Próximos passos

Mensagens MQTT

Distribuição de dados usando entrega pull ou push

Consulte também