¿Qué es Azure Event Grid?

Azure Event Grid es un servicio de distribución de mensajes de publicación y suscripción altamente escalable y totalmente administrado que ofrece patrones flexibles de consumo de mensajes mediante los protocolos MQTT y HTTP. Con Azure Event Grid, puede crear canalizaciones de datos con datos de dispositivo, integrar aplicaciones y crear arquitecturas sin servidor controladas por eventos. Event Grid permite a los clientes publicar y suscribirse a mensajes a través de los protocolos MQTT v3.1.1 y v5.0 para admitir soluciones del Internet de las cosas (IoT). Mediante HTTP, Event Grid permite crear soluciones controladas por eventos en las que un servicio publicador anuncia los cambios de estado del sistema (eventos) en las aplicaciones del suscriptor. Event Grid se puede configurar para enviar eventos a los suscriptores (entrega de inserción) o los suscriptores pueden conectarse a Event Grid para leer eventos (entrega de extracción). Event Grid admite la especificación CloudEvents 1.0 para proporcionar interoperabilidad entre sistemas.

Diagrama de alto nivel de Event Grid que muestra los publicadores y suscriptores que utilizan los protocolos MQTT y HTTP.

Azure Event Grid es un servicio disponible con carácter general implementado en todas las zonas de disponibilidad de todas las regiones que las admiten. Para obtener una lista de las regiones que admite Event Grid, consulte Productos disponibles por región.

Información general

Azure Event Grid se usa en diferentes fases de canalizaciones de datos para lograr un conjunto diverso de objetivos de integración.

Mensajería MQTT. Los dispositivos y aplicaciones de IoT se pueden comunicar entre sí a través de MQTT. Event Grid también se puede usar para enrutar mensajes MQTT a servicios de Azure o puntos de conexión personalizados para realizar análisis, visualización o almacenamiento de datos adicionales. Esta integración con los servicios de Azure le permite crear canalizaciones de datos que comienzan con la ingesta de datos desde los dispositivos IoT.

Distribución de datos mediante modos de entrega de inserción y extracción. En cualquier momento de una canalización de datos, las aplicaciones HTTP pueden consumir mensajes mediante las API de inserción o extracción. El origen de los datos puede incluir los datos de los clientes MQTT, pero también incluye los siguientes orígenes de datos que envían sus eventos a través de HTTP:

  • Servicios de Azure
  • Sus aplicaciones personalizadas
  • Sistemas de asociados externos (SaaS)

El mecanismo de entrega de inserción de Event Grid envía datos a destinos que incluyen sus propios webhooks de aplicación y servicios de Azure.

Funcionalidades

Event Grid ofrece un conjunto enriquecido de características. Estas características son:

Mensajería MQTT

  • MQTT v3.1.1 y MQTT v5.0 admiten: Usar cualquier biblioteca cliente MQTT de código abierto para comunicarse con el servicio.
  • Temas personalizados con caracteres comodín admiten: Aproveche su propia estructura de temas.
  • Modelo de mensajería de publicación y suscripción: Comuníquese de forma eficaz mediante patrones de mensajería uno a varios, varios a uno y uno a uno.
  • Integración en la nube integrada: Enrute los mensajes MQTT a servicios de Azure o webhooks personalizados para su posterior procesamiento.
  • Modelo de control de acceso flexible y específico: Agrupar clientes y temas para simplificar la administración del control de acceso y usar la compatibilidad de variables en plantillas de tema para un control de acceso específico.
  • Métodos de autenticación del agente MQTT - La autenticación por certificado X.509 es el estándar de autenticación de la industria en dispositivos IoT, Microsoft Entra IDauthentication es el estándar de autenticación de Azure para aplicaciones y la autenticación OAuth 2.0 (JSON Web Token) proporciona una opción ligera, segura y flexible para clientes MQTT que no están aprovisionados en Azure.
  • TLS 1.2 y TLS 1.3 admiten: Proteja la comunicación del cliente mediante protocolos de cifrado sólidos.
  • Compatibilidad con varias sesiones: Conecte las aplicaciones con varias sesiones activas para garantizar la confiabilidad y la escalabilidad.
  • MQTT a través de WebSockets: Habilite la conectividad para los clientes en entornos restringidos por firewall.
  • Nombres de dominio personalizados: Permite a los usuarios asignar sus propios nombres de dominio a los puntos de conexión MQTT del espacio de nombres de Event Grid, lo que mejora la seguridad y simplifica la configuración del cliente.
  • Eventos del ciclo de vida del cliente: Permite que las aplicaciones reaccionen a eventos sobre el estado de conexión de cliente o las operaciones de recursos de cliente.

Mensajería de eventos (HTTP)

  • Modelo de consumo de eventos flexible: al usar HTTP, consuma eventos mediante el modo de entrega de extracción o inserción.
  • Eventos del sistema: póngase en marcha rápidamente con eventos de servicio de Azure integrados.
  • Sus propios eventos de aplicación: use Event Grid para enrutar, filtrar y entregar de forma confiable eventos personalizados de su aplicación.
  • Eventos de asociados: suscríbase a los eventos del proveedor SaaS asociado y procéselos en Azure.
  • Filtrado avanzado: filtre por el tipo de evento u otros atributos de evento para asegurarse de que los controladores de eventos o las aplicaciones de consumidor solo reciben eventos relevantes.
  • Confiabilidad: la entrega de inserción incluye un mecanismo de reintento de 24 horas con retroceso exponencial para asegurarse de que se entregan los eventos. Si usa la entrega de extracción, la aplicación tiene control total sobre el consumo de eventos.
  • Alto rendimiento: cree soluciones integradas de gran volumen con Event Grid.
  • Nombres de dominio personalizados: Permite a los usuarios asignar sus propios nombres de dominio a los puntos de conexión HTTP del espacio de nombres de Event Grid, lo que mejora la seguridad y simplifica la configuración del cliente.

Nota:

En cuanto a la depreciación TLS 1.0 / 1.1 : para los temas del sistema, es necesario tomar medidas solo para la entrega de eventos a destinos webhook. Si el destino admite TLS 1.2, la entrega del evento se realiza utilizando 1.2. Si el destino no es compatible con TLS 1.2, la entrega de eventos retrocede automáticamente a 1.0 y 1.1. A partir del 1 de marzo de 2025, no se admitirá la entrega de eventos con las versiones 1.0 y 1.1. Asegúrese de que los destinos de sus webhooks admiten TLS 1.2. Una forma sencilla de comprobar la compatibilidad con TLS 1.2 es utilizar Qualys SSL Labs. Si el informe muestra que TLS 1.2 es compatible, no es necesario realizar ninguna acción. Para obtener más información, consulte la siguiente entrada del blog: Retirada: Próximos cambios de TLS para Azure Event Grid

Casos de uso

Event Grid admite los siguientes casos de uso:

Mensajería MQTT

Event Grid permite a los clientes comunicarse en nombres de temas MQTT personalizados mediante un modelo de mensajería de publicación y suscripción. Event Grid admite clientes que publican y se suscriben a mensajes mediante MQTT v3.1.1, MQTT v3.1.1 a través de WebSockets, MQTT v5 y MQTT v5 a través de WebSockets. Event Grid permite enviar mensajes MQTT a la nube para el análisis de datos, el almacenamiento y las visualizaciones, entre otros casos de uso.

Event Grid se integra con Azure IoT MQ para puentear su MQTT broker en el perímetro con la funcionalidad de agente MQTT de Event Grid en la nube. Azure IoT MQ es un nuevo MQTT broker distribuido para la informática perimetral, que se ejecuta en clústeres de Kubernetes habilitados para Arc. Ahora está disponible en versión preliminar pública como parte de las operaciones de Azure IoT.

La característica MQTT broker de Azure Event Grid es idónea para la implementación de escenarios de automoción y movilidad, entre otros. Consulte la arquitectura de referencia para obtener información sobre cómo crear soluciones seguras y escalables para conectar millones de vehículos a la nube mediante los servicios de análisis de datos y mensajería de Azure.

Diagrama de alto nivel de Event Grid que muestra la comunicación MQTT bidireccional con clientes publicadores y suscriptores.

La característica de MQTT broker de Azure Event Grid permite los siguientes escenarios:

Ingesta de telemetría de IoT

Diagrama de alto nivel de Event Grid que muestra clientes IoT que utilizan el protocolo MQTT para enviar mensajes a una aplicación en la nube.

Ingerir telemetría mediante un patrón de mensajería de varios a uno. Por ejemplo, use Event Grid para enviar telemetría desde varios dispositivos IoT a una aplicación en la nube. Este patrón permite a la aplicación dejar que Event Grid se ocupe de la pesada tarea de administrar el gran número de conexiones con dispositivos.

Comando y control

Diagrama de alto nivel de Event Grid que muestra una aplicación en la nube enviando un mensaje de comando a través de MQTT a un dispositivo utilizando temas de solicitud y respuesta.

Controle los clientes MQTT mediante el patrón de mensaje de solicitud-respuesta (uno a uno). Por ejemplo, use Event Grid para enviar un comando desde una aplicación en la nube a un dispositivo IoT.

Difusión de alertas

Diagrama de alto nivel de Event Grid que muestra una aplicación en la nube enviando un mensaje de alerta a través de MQTT a varios dispositivos.

Difunda alertas a una flota de clientes mediante el patrón de mensajería de uno a varios. Por ejemplo, use Event Grid para enviar una alerta desde una aplicación en la nube a varios dispositivos IoT. Este patrón permite a la aplicación publicar solo un mensaje que el servicio replica para cada cliente interesado.

Integración de datos MQTT

Diagrama que muestra varios dispositivos IoT enviando datos de estado a través de MQTT a Event Grid, luego a Event Hubs, y desde este servicio a Azure Stream Analytics.

Integre datos de los clientes MQTT mediante el enrutamiento de mensajes MQTT a servicios de Azure y puntos de conexión personalizados mediante entrega de inserción o entrega de extracción. Por ejemplo, use Event Grid para enrutar la telemetría de los dispositivos IoT a Event Hubs y, a continuación, a Azure Stream Analytics para obtener información de la telemetría del dispositivo.

Entrega de inserción de eventos

Event Grid se puede configurar para enviar eventos a un conjunto diverso de servicios o webhooks de Azure mediante la entrega de inserción de eventos. Los orígenes de eventos incluyen las aplicaciones personalizadas, los servicios de Azure y los servicios de asociados (SaaS) que publican eventos que anuncian cambios de estado del sistema (también conocidos como eventos "discretos"). A su vez, Event Grid entrega esos eventos a los destinos de los suscriptores configurados.

La entrega de inserción de Event Grid permite llevar a cabo los siguientes casos de uso.

Nota:

La entrega de inserción está disponible en el nivel básico de Event Grid y en el nivel estándar de Event Grid para obtener más información sobre las diferencias, vea elegir el nivel de Event Grid adecuado para la solución.

Creación de soluciones sin servidor controladas por eventos

Diagrama que muestra cómo Azure Functions publica eventos en Event Grid mediante HTTP. A continuación, Event Grid envía esos eventos a Azure Logic Apps.

Use Event Grid para crear soluciones sin servidor con Azure Functions Apps, Logic Apps y API Management. El uso de servicios sin servidor con Event Grid le ofrece un nivel de productividad, ahorro de esfuerzo e integración superior a la de los modelos de computación clásicos en los que tiene que adquirir, administrar, proteger y mantener todas las infraestructuras implementadas.

Recepción de eventos de servicios de Azure

Diagrama que muestra cómo Blob Storage publica eventos a Event Grid a través de HTTP. Event Grid envía esos eventos a los controladores de eventos, que son webhooks o servicios de Azure.

Event Grid puede recibir eventos de más de 20 servicios de Azure para poder automatizar las operaciones. Por ejemplo, puede configurar Event Grid para recibir un evento cuando se ha creado un nuevo blob en una cuenta de Azure Storage de modo que la aplicación descendente pueda leer y procesar su contenido. Para obtener una lista de todos los eventos y servicios de Azure admitidos, consulte Temas del sistema.

Recepción de eventos de las aplicaciones

Diagrama que muestra cómo la aplicación cliente publica eventos a Event Grid usando HTTP. Event Grid envía esos eventos a webhooks o servicios de Azure.

Su propio servicio o aplicación publica eventos en Event Grid y los procesan las aplicaciones de suscriptor. Las características de Event Grid Temas de espacio de nombres para abordar los requisitos de integración y enrutamiento a escala con un modelo de recursos simple. También puede usar Temas personalizados para cumplir los requisitos básicos de integración y Dominios para un modelo de administración y enrutamiento sencillo cuando necesite distribuir eventos a cientos o miles de grupos diferentes.

Recepción de eventos del asociado (proveedores de SaaS)

Diagrama que muestra cómo la aplicación de asociado externo publica eventos a Event Grid usando HTTP. Event Grid envía esos eventos a webhooks o servicios de Azure.

Un proveedor o plataforma SaaS multiinquilino puede publicar sus eventos en Event Grid mediante una característica denominada Eventos de asociados. Puede suscribirse a esos eventos y automatizar tareas, por ejemplo. Los eventos de los siguientes asociados están disponibles actualmente:

Controladores de eventos

Una suscripción a eventos es un recurso de configuración genérico que permite definir el controlador de eventos o el destino a los que se envían los eventos mediante la entrega de inserción. Por ejemplo, puede enviar datos a un Webhook, una función de Azure o Event Hubs. Para obtener una lista completa de los controladores de eventos admitidos, vea:

Entrega de extracción de eventos discretos

Azure Event Grid ofrece la entrega de extracción de CloudEvents. Con este modo de entrega, los clientes se conectan a Event Grid para leer eventos. La entrega de extracción permite llevar a cabo los siguientes casos de uso.

Recepción de eventos a su propio ritmo

Diagrama de alto nivel de una aplicación de publicador y consumidor. El publicador envía eventos a Event Grid a un ritmo superior a la tasa de consumo de eventos del suscriptor.

Uno o varios clientes pueden conectarse a Azure Event Grid para leer mensajes a su propio ritmo. Event Grid ofrece a los clientes un control absoluto sobre el consumo de eventos. La aplicación puede recibir eventos en determinadas horas del día, por ejemplo. La solución también puede aumentar la tasa de consumo agregando más clientes que leen de Event Grid.

Diagrama de alto nivel de una aplicación de consumidor en una red virtual que lee eventos de Event Grid a través de un punto de conexión privado en la red virtual.

Puede configurar vínculos privados para conectarse a Azure Event Grid para publicar y leer CloudEvents a través de un punto de conexión privado en la red virtual. El tráfico entre la red virtual y Event Grid viaja por la red troncal de Microsoft.

Importante

Los vínculos privados están disponibles con la entrega de extracción, no con la de inserción. Puede usar vínculos privados cuando la aplicación se conecte a Event Grid para publicar o recibir eventos, no cuando Event Grid se conecte al webhook o al servicio de Azure para entregar eventos.

Regiones en las que el espacio de nombres de Event Grid está disponible

Esta es la lista de regiones en las que están disponibles las nuevas características del agente MQTT y del espacio de nombres:

Region Region Region Region
Este de Australia Sudeste de Australia Centro de Australia Centro de Australia 2
Sur de Brasil Sur de Brasil Centro de Canadá Este de Canadá
Centro de la India Centro de EE. UU. Este de Asia Este de EE. UU.
Este de EE. UU. 2 Oeste de EE. UU. Centro de Francia Sur de Francia
Norte de Alemania Centro-oeste de Alemania Centro de Israel Norte de Italia
Japón Oriental Japón Occidental Centro de Corea del Sur Corea del Sur
Centro de México Centro-Norte de EE. UU Norte de Europa Este de Noruega
Centro de Polonia Oeste de Sudáfrica Norte de Sudáfrica Centro-sur de EE. UU.
Sur de la India Sudeste de Asia Centro de España Centro de Suecia
Sur de Suecia Norte de Suiza Oeste de Suiza Norte de Emiratos Árabes Unidos
Centro de Emiratos Árabes Unidos Sur de Reino Unido Oeste de Reino Unido Oeste de Europa
Oeste de EE. UU. 2 Oeste de EE. UU. 3 Centro-Oeste de EE. UU.

Pasos siguientes

Mensajería MQTT

Distribución de datos mediante la entrega de extracción o inserción

Consulte también