O que é o Azure Event Grid?

Azure Event Grid é um serviço de distribuição de mensagens Pub Sub, altamente dimensionável e totalmente gerido, que oferece padrões flexíveis de consumo de mensagens com os protocolos MQTT e HTTP. Com Azure Event Grid, pode criar pipelines de dados com dados do dispositivo, integrar aplicações e criar arquiteturas sem servidor condicionadas por eventos. O Event Grid permite que os clientes publiquem e subscrevam mensagens através dos protocolos MQTT v3.1.1 e v5.0 para suportar soluções de Internet das Coisas (IoT). Através de HTTP, o Event Grid permite-lhe criar soluções condicionadas por eventos em que um serviço de publicador anuncia as alterações de estado do sistema (eventos) às aplicações subscritoras. O Event Grid pode ser configurado para enviar eventos para subscritores (entrega push) ou os subscritores podem ligar-se ao Event Grid para ler eventos (entrega pull). O Event Grid suporta a especificação CloudEvents 1.0 para proporcionar interoperabilidade entre sistemas.

Diagrama de alto nível do Event Grid que mostra editores e subscritores que utilizam protocolos MQTT e HTTP.

Azure Event Grid é um serviço geralmente disponível implementado em todas as zonas de disponibilidade em todas as regiões que as suportam. Para obter uma lista das regiões suportadas pelo Event Grid, veja Produtos disponíveis por região.

Nota

As seguintes funcionalidades foram lançadas com a nossa API de pré-visualização 2023-06-01:

  • Suporte para MQTT v3.1.1 e v5.0 (pré-visualização)
  • Consumo de eventos de estilo pull com HTTP (pré-visualização)

As regiões iniciais onde estas funcionalidades estão disponíveis são: E.U.A. Leste, E.U.A. Central, E.U.A. Centro-Sul, E.U.A. Oeste 2, Ásia Leste, Ásia Sudeste, Europa do Norte, Europa Ocidental, Norte dos Emirados Árabes Unidos

Importante

As funcionalidades MQTT Messaging e Pull Delivery, juntamente com os seguintes recursos, estão atualmente em PRÉ-VISUALIZAÇÃO.

  • Espaços de nomes
  • Tópicos de espaço de nomes
  • Tópicos das subscrições de eventos para o espaço de nomes
  • Espaços de tópicos
  • Clientes
  • Grupos de Clientes
  • Certificados
  • Enlaces de Permissão

Descrição Geral

Azure Event Grid é utilizado em diferentes fases dos pipelines de dados para alcançar um conjunto diversificado de objetivos de integração.

Mensagens MQTT (pré-visualização). Os dispositivos e aplicações IoT podem comunicar entre si através do MQTT. O Event Grid também pode ser utilizado para encaminhar mensagens MQTT para serviços do Azure ou pontos finais personalizados para análise, visualização ou armazenamento de dados adicionais. Esta integração com os serviços do Azure permite-lhe criar pipelines de dados que começam com a ingestão de dados a partir dos seus dispositivos IoT.

Distribuição de dados através de modos de entrega push e pull (pré-visualização). A qualquer momento num pipeline de dados, as aplicações HTTP podem consumir mensagens através de APIs push ou pull. A origem dos dados pode incluir os dados dos clientes MQTT, mas também inclui as seguintes origens de dados que enviam os respetivos eventos através de HTTP:

  • Serviços do Azure
  • As suas aplicações personalizadas
  • Sistemas de parceiros externos (SaaS)

Ao configurar o Event Grid para entrega push, o Event Grid pode enviar dados para destinos que incluem webhooks da sua própria aplicação e serviços do Azure.

Capacidades

O Event Grid oferece uma mistura avançada de funcionalidades. Essas funcionalidades incluem:

Mensagens MQTT (pré-visualização)

  • Suporte para MQTT v3.1.1 e MQTT v5.0 – utilize qualquer open source biblioteca de cliente MQTT para comunicar com o serviço.
  • Tópicos personalizados com suporte de carateres universais – tire partido da sua própria estrutura de tópicos.
  • Modelo de mensagens publish-subscribe - comunique de forma eficiente com padrões de mensagens um-para-muitos, muitos-para-um e um-para-um.
  • Integração na cloud incorporada – encaminhe as suas mensagens MQTT para serviços do Azure ou webhooks personalizados para processamento adicional.
  • Modelo de controlo de acesso flexível e detalhado – agrupe clientes e tópicos para simplificar a gestão do controlo de acesso e utilize o suporte variável em modelos de tópicos para um controlo de acesso detalhado.
  • Autenticação de certificado X.509 – autentique os seus dispositivos no mecanismo padrão para a autenticação de dispositivos no setor de IoT.
  • Suporte TLS 1.2 e TLS 1.3 – proteja a comunicação do cliente com protocolos de encriptação robustos.
  • Suporte de várias sessões – ligue as suas aplicações a múltiplas sessões ativas para garantir fiabilidade e escalabilidade.
  • MQTT através de WebSockets – ative a conectividade para clientes em ambientes restritos à firewall.

Mensagens de evento (HTTP)

  • Modelo de consumo de eventos flexível – ao utilizar HTTP, consuma eventos com o modo de solicitação (pré-visualização) ou de entrega push.
  • Eventos do sistema – comece a trabalhar rapidamente com eventos de serviço incorporados do Azure.
  • Eventos da sua própria aplicação – utilize o Event Grid para encaminhar, filtrar e fornecer eventos personalizados de forma fiável a partir da sua aplicação.
  • Eventos de parceiros – subscreva os eventos do fornecedor SaaS do seu parceiro e processe-os no Azure.
  • Filtragem avançada – filtre por tipo de evento ou outros atributos de eventos para garantir que os processadores de eventos ou as aplicações de consumidor recebem apenas eventos relevantes.
  • Fiabilidade – a entrega push apresenta um mecanismo de repetição de 24 horas com um recuo exponencial para garantir que os eventos são entregues. Com a entrega de solicitação, a sua aplicação tem controlo total sobre o consumo de eventos.
  • Débito elevado – crie soluções integradas de elevado volume com o Event Grid.

Casos de utilização:

O Event Grid suporta os seguintes casos de utilização:

Mensagens MQTT

O Event Grid permite que os seus clientes comuniquem em nomes de tópicos MQTT personalizados com um modelo de mensagens publish-subscribe. O Event Grid suporta clientes que publicam e subscrevem mensagens através de MQTT v3.1.1, MQTT v3.1.1 através de WebSockets, MQTT v5 e MQTT v5 através de WebSockets. O Event Grid permite-lhe enviar mensagens MQTT para a cloud para análise de dados, armazenamento e visualizações, entre outros casos de utilização.

O suporte MQTT no Event Grid é ideal para a implementação de cenários de automóveis e mobilidade, entre outros. Veja a arquitetura de referência para saber como criar soluções seguras e dimensionáveis para ligar milhões de veículos à cloud com os serviços de mensagens e análise de dados do Azure.

Diagrama de alto nível do Event Grid que mostra a comunicação bidirecional MQTT com clientes de editor e subscritor.

O suporte MQTT do Event Grid permite-lhe realizar os seguintes cenários.

Ingerir telemetria IoT

Diagrama de alto nível do Event Grid que mostra clientes IoT a utilizar o protocolo MQTT para enviar mensagens para uma aplicação na cloud.

Ingerir telemetria com um padrão de mensagens muitos-para-um . Por exemplo, utilize o Event Grid para enviar telemetria de vários dispositivos IoT para uma aplicação na cloud. Este padrão permite que a aplicação descarregue a carga da gestão do elevado número de ligações com dispositivos ao Event Grid.

Comando e controlo

Diagrama de alto nível do Event Grid que mostra uma aplicação na cloud a enviar uma mensagem de comando através de MQTT para um dispositivo através de tópicos de pedido e resposta.

Controle os clientes MQTT com o padrão de mensagem request-response (um-para-um). Por exemplo, utilize o Event Grid para enviar um comando de uma aplicação na cloud para um dispositivo IoT.

Transmitir alertas

Diagrama de alto nível do Event Grid que mostra uma aplicação na cloud a enviar uma mensagem de alerta através do MQTT para vários dispositivos.

Difunda alertas para uma frota de clientes com o padrão de mensagens um-para-muitos . Por exemplo, utilize o Event Grid para enviar um alerta de uma aplicação na cloud para vários dispositivos IoT. Este padrão permite que a aplicação publique apenas uma mensagem que o serviço replica para cada cliente interessado.

Integrar dados MQTT

Diagrama que mostra vários dispositivos IoT a enviar dados de estado de funcionamento através do MQTT para o Event Grid e, em seguida, para os Hubs de Eventos e deste serviço para o Azure Stream Analytics.

Integre dados dos seus clientes MQTT ao encaminhar mensagens MQTT para serviços e Webhooks do Azure através da funcionalidade de entrega Push http . Por exemplo, utilize o Event Grid para encaminhar a telemetria dos seus dispositivos IoT para os Hubs de Eventos e, em seguida, para o Azure Stream Analytics para obter informações da telemetria do seu dispositivo.

Entrega push de eventos discretos

O Event Grid pode ser configurado para enviar eventos para um conjunto diversificado de serviços ou webhooks do Azure com a entrega de eventos push. As origens de eventos incluem as suas aplicações personalizadas, serviços do Azure e serviços de parceiros (SaaS) que publicam eventos que anunciam alterações de estado do sistema (também conhecidos como eventos "discretos"). Por sua vez, o Event Grid entrega esses eventos aos destinos dos subscritores configurados.

A entrega push do Event Grid permite-lhe realizar os seguintes casos de utilização.

Criar soluções sem servidor condicionadas por eventos

Diagrama que mostra Funções do Azure eventos de publicação no Event Grid com HTTP. Em seguida, o Event Grid envia esses eventos para o Azure Logic Apps.

Utilize o Event Grid para criar soluções sem servidor com Funções do Azure Apps, Logic Apps e Gestão de API. A utilização de serviços sem servidor com o Event Grid oferece-lhe um nível de produtividade, economia de esforço e integração superior ao dos modelos de computação clássicos em que tem de obter, gerir, proteger e manter todas as infraestruturas implementadas.

Receber eventos dos serviços do Azure

Diagrama que mostra eventos de publicação do Armazenamento de Blobs no Event Grid através de HTTP. O Event Grid envia esses eventos para processadores de eventos, que são webhooks ou serviços do Azure.

O Event Grid pode receber eventos de mais de 20 serviços do Azure para que possa automatizar as suas operações. Por exemplo, pode configurar o Event Grid para receber um evento quando um novo blob tiver sido criado numa Conta de Armazenamento do Azure para que a sua aplicação a jusante possa ler e processar o respetivo conteúdo. Para obter uma lista de todos os serviços e eventos do Azure suportados, veja Tópicos do sistema.

Receber eventos das suas aplicações

Diagrama que mostra eventos de publicação de aplicações do cliente no Event Grid com HTTP. O Event Grid envia esses eventos para webhooks ou serviços do Azure.

O seu próprio serviço ou aplicação publica eventos no Event Grid que as aplicações subscritoras processam. O Event Grid apresenta Tópicos Personalizados para abordar cenários básicos de integração e Domínios para oferecer um modelo de gestão e encaminhamento simples quando precisar de distribuir eventos por centenas ou milhares de grupos diferentes.

Receber eventos de parceiros (fornecedores SaaS)

Diagrama que mostra um evento de publicação de aplicações de parceiro externo no Event Grid com HTTP. O Event Grid envia esses eventos para webhooks ou serviços do Azure.

Um fornecedor ou plataforma SaaS multi-inquilino pode publicar os respetivos eventos no Event Grid através de uma funcionalidade denominada Eventos de Parceiros. Pode subscrever esses eventos e automatizar tarefas, por exemplo. Estão atualmente disponíveis eventos dos seguintes parceiros:

Processadores de Eventos

Uma subscrição de eventos é um recurso de configuração genérico que lhe permite definir o processador de eventos ou o destino para o qual os eventos são enviados através da entrega push. São suportados os seguintes processadores de eventos :

Solicitar a entrega de eventos discretos

Azure Event Grid funcionalidades solicitam a entrega do CloudEvents. Com este modo de entrega, os clientes ligam-se ao Event Grid para ler eventos. Os seguintes casos de utilização podem ser realizados com a entrega pull.

Receber eventos ao seu próprio ritmo

Diagrama de alto nível de uma aplicação de fabricante e consumidor. O publicador envia eventos para o Event Grid a um ritmo mais elevado do que a taxa de consumo de eventos do subscritor.

Um ou mais clientes podem ligar-se a Azure Event Grid para ler mensagens ao seu próprio ritmo. O Event Grid oferece aos clientes controlo total sobre o consumo de eventos. A sua aplicação pode receber eventos em determinadas horas do dia, por exemplo. A sua solução também pode aumentar a taxa de consumo ao adicionar mais clientes lidos a partir do Event Grid.

Diagrama de alto nível de uma aplicação de consumidor dentro de uma VNET a ler eventos do Event Grid através de um ponto final privado dentro da VNET.

Pode configurar ligações privadas para ligar a Azure Event Grid para publicar e ler CloudEvents através de um ponto final privado na sua rede virtual. O tráfego entre a rede virtual e o Event Grid percorre a rede principal da Microsoft.

Importante

As ligações privadas estão disponíveis com entrega pull, não com entrega push. Pode utilizar ligações privadas quando a sua aplicação se liga ao Event Grid para publicar eventos ou receber eventos, não quando o Event Grid se liga ao webhook ou ao serviço do Azure para fornecer eventos.

Quanto custa o Event Grid?

Azure Event Grid oferece dois escalões e utiliza um modelo de preços pay-per-use. Para obter detalhes sobre os preços, veja Azure Event Grid preços. Para saber mais sobre as capacidades de cada escalão, consulte Escolher o escalão do Event Grid correto.

Passos seguintes

Mensagens MQTT

Distribuição de dados com entrega push ou push