Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Event Grid es un servicio de publicación y suscripción totalmente escalable y totalmente administrado para la distribución de mensajes. Event Grid ofrece patrones de consumo de mensajes flexibles y usa los protocolos Transporte de telemetría de Message Queuing (MQTT) y HTTP. Con 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). A través de HTTP, puede usar Event Grid para crear soluciones controladas por eventos en las que un servicio de publicador anuncia los cambios de estado del sistema (eventos) a las aplicaciones de suscriptor. Puede configurar Event Grid 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.
Características principales
Event Grid tiene dos características principales:
Mensajería MQTT: los dispositivos y las aplicaciones de IoT pueden comunicarse entre sí a través de MQTT. También puede usar Event Grid para enrutar mensajes MQTT a servicios de Azure o puntos de conexión personalizados para realizar análisis, visualización o almacenamiento adicionales de datos. Con esta integración con los servicios de Azure, puede crear canalizaciones de datos que empiecen por la ingesta de datos desde los dispositivos IoT.
Distribución de datos mediante modos de entrega de inserción y extracción: en cualquier punto de una canalización de datos, las aplicaciones HTTP pueden consumir mensajes mediante api de inserción o extracción. El origen de los datos podría 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 (software como servicio)
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. Este es un vistazo a estas dos características.
Mensajería MQTT
Event Grid permite a los clientes comunicarse con nombres de temas MQTT personalizados mediante un modelo de mensajería publish-subscribe. Event Grid admite clientes que publican y se suscriben a mensajes a través de MQTT v3.1.1, MQTT v3.1.1 a través de WebSocket, MQTT v5 y MQTT v5 a través de WebSocket.
Event Grid también admite dispositivos y servicios que envían mensajes MQTT a través de HTTPS, lo que simplifica la integración con clientes que no son MQTT. 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. Esta funcionalidad actualmente está en su versión preliminar.
Event Grid se integra con Azure IoT Operations para puentear su funcionalidad de agente MQTT en el perímetro con la funcionalidad del agente MQTT de Event Grid en la nube. El agente MQTT de Azure IoT es un nuevo agente MQTT distribuido para la informática perimetral que se ejecuta en clústeres de Kubernetes habilitados para Azure Arc. Ahora está disponible como parte de las operaciones de Azure IoT.
La característica de agente MQTT en Event Grid es ideal para los escenarios de automoción, movilidad y fabricación, entre otros. Para aprender a crear soluciones seguras y escalables para conectar millones de clientes MQTT a la nube mediante servicios de análisis de datos y mensajería de Azure, consulte las arquitecturas de referencia de automoción y fabricación .
Aspectos destacados de la compatibilidad con la mensajería MQTT en Event Grid:
- Compatibilidad con MQTT v3.1.1 y MQTT v5.0: usa cualquier biblioteca cliente MQTT de código abierto para comunicarse con el servicio.
- Temas personalizados con compatibilidad con caracteres comodín: usa su propia estructura de temas.
- Modelo de mensajería de publicación y suscripción: se comunica de forma eficaz mediante patrones de mensajería uno a varios, varios a uno y uno a uno.
- Integración en la nube integrada: enruta los mensajes MQTT a los servicios de Azure o webhooks personalizados para su posterior procesamiento.
- Modelo decontrol de acceso flexible y específico: agrupa clientes y temas para simplificar la administración del control de acceso. Usa la compatibilidad de variables en plantillas de tema para el control de acceso específico.
- Métodos de autenticación de agente MQTT: usa la autenticación de certificados X.509, un estándar de autenticación del sector para dispositivos IoT. Usa la autenticación de Microsoft Entra ID, un estándar de autenticación de Azure para las aplicaciones. Usa patrones de autenticación flexibles como la autenticación JSON Token web (JWT) de OAuth 2.0, que es ligera y segura para los clientes MQTT que no están aprovisionados en Azure. Usa la autenticación de webhook personalizada, que permite que los puntos de conexión HTTP externos (webhooks) autentiquen las conexiones MQTT dinámicamente. Este método usa la validación JWT de Entra ID para garantizar el acceso seguro.
- Compatibilidad con la seguridad de la capa de transporte (TLS) 1.2 y TLS 1.3: protege la comunicación del cliente mediante protocolos de cifrado sólidos.
- Compatibilidad con varias sesiones: conecta las aplicaciones con varias sesiones activas para garantizar la confiabilidad y la escalabilidad.
- MQTT sobre WebSocket: habilita 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 de un 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 a las aplicaciones reaccionar a eventos sobre el estado de conexión de cliente o las operaciones de recursos de cliente.
- Publicación HTTP: permite a los dispositivos y servicios enviar mensajes MQTT a Event Grid a través de HTTPS, lo que simplifica la integración con clientes que no son MQTT.
- Retención de MQTT: garantiza que el último mensaje conocido de un tema se entregue automáticamente a nuevos suscriptores, lo que permite la sincronización de estado instantánea.
Para obtener más información sobre el agente MQTT, consulte los artículos siguientes:
- Información general
- Publicación y suscripción a mensajes MQTT
- Tutorial: Enrutamiento de mensajes MQTT a Azure Event Hubs mediante temas de espacio de nombres
- Tutorial: Enrutamiento de mensajes MQTT a Azure Functions mediante temas personalizados
Mensajería de eventos (HTTP)
Event Grid admite la entrega de eventos de inserción y extracción mediante HTTP. Con la entrega de inserción, se define un destino en una suscripción de eventos a la que Event Grid envía eventos. Con la entrega de extracción, las aplicaciones del suscriptor se conectan a Event Grid para consumir eventos. La entrega de extracción es compatible con los temas de un espacio de nombres de Event Grid.
Controladores de eventos
En la entrega de inserción, una suscripción de eventos es un recurso de configuración genérico que puede usar para 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 controladores de eventos admitidos, consulte:
- Controladores de eventos se admiten en temas de espacio de nombres.
- Controladores de eventos compatibles con temas personalizados, del sistema, del dominio y de los asociados.
Entrega de inserción frente a entrega de extracción
Las siguientes directrices generales le ayudarán a decidir cuándo usar la entrega de extracción o inserción.
Entrega de extracción
- Necesita control total sobre cuándo recibir eventos. Por ejemplo, es posible que la aplicación no esté activa todo el tiempo o no sea lo suficientemente estable. También puede procesar datos solo en determinados momentos.
- Necesita un control absoluto sobre el consumo de eventos. Por ejemplo, un servicio o capa de bajada en la aplicación de consumidor podría tener un problema que le impida procesar eventos. En ese caso, la API de entrega de extracción permite que la aplicación de consumidor libere un evento de lectura ya leído al agente para su entrega más adelante.
- Quiere usar vínculos privados cuando reciba eventos, lo que solo es posible con la entrega de extracción, no con la entrega de inserción.
- No tiene la capacidad de exponer un punto de conexión y usar la entrega de inserción, pero puede conectarse a Event Grid para consumir eventos.
Entrega de inserción
- Quiere evitar sondeos constantes para determinar que se ha producido un cambio de estado del sistema. En su lugar, quiere usar Event Grid para enviar eventos cuando se produzcan cambios de estado.
- Tiene una aplicación que no puede realizar llamadas salientes. Por ejemplo, puede que a su organización le preocupe la filtración de datos. Sin embargo, la aplicación puede recibir eventos a través de un punto de conexión público.
Resaltado del modelo HTTP:
- Modelo de consumo de eventos flexible: consume eventos mediante el modo de entrega de extracción o inserción cuando se usa HTTP.
- 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 eventos personalizados de forma confiable desde la aplicación.
- Eventos de asociados: suscríbase a los eventos del proveedor de SaaS asociado y procesándolos 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 los eventos se entregan. 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 de un espacio de nombres de Event Grid, lo que mejora la seguridad y simplifica la configuración del cliente.
Vea los siguientes artículos para más información:
- Introducción a la entrega de extracción
- Introducción a la entrega de inserción
- Conceptos
- Inicio rápido: Publicación y suscripción a eventos de aplicación mediante temas de espacio de nombres
Casos de uso
Para obtener una lista de los casos de uso en los que puede usar Event Grid, consulte Casos de uso.
Regiones admitidas
Las nuevas características del agente MQTT y del espacio de nombres están disponibles en las siguientes regiones.
| Región | Región | Región | Región |
|---|---|---|---|
| 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. |