Comparación del enrutamiento de mensajes y Event Grid para IoT Hub

Azure IoT Hub proporciona la capacidad de transmitir datos desde los dispositivos conectados e integrar esos datos en las aplicaciones empresariales. IOT Hub ofrece dos métodos para integrar eventos de IoT en otros servicios de Azure o en aplicaciones empresariales. En este artículo se tratan las dos características que proporcionan esta funcionalidad, de modo que pueda elegir qué opción es la más adecuada para su escenario.

Nota

Algunas de las características que se mencionan en este artículo, como la mensajería de la nube al dispositivo, los dispositivos gemelos y la administración de dispositivos, solo están disponibles en el nivel estándar de IoT Hub. Para obtener más información sobre los niveles Básico y Estándar o Gratis de IoT Hub, consulte Elección del nivel adecuado de IoT Hub para la solución.

Enrutamiento de mensajes de IoT Hub : esta característica de IoT Hub permite a los usuarios enrutar los mensajes del dispositivo a la nube a los puntos de conexión de servicio como contenedores de Azure Storage, Event Hubs, colas de Service Bus y temas de Service Bus. El enrutamiento también proporciona una funcionalidad de consulta para filtrar los datos antes de enrutarlos a los puntos de conexión. Además de los datos de telemetría de los dispositivos, también puede enrutar eventos que no son de telemetría y usarlos para desencadenar acciones.

Integración de IoT Hub con Event Grid: Azure Event Grid es un servicio de enrutamiento de eventos totalmente administrado que utiliza un modelo de publicación-suscripción. Hub IoT y Event Grid trabajan juntos para integrar eventos de IoT Hub en servicios de Azure y no de Azure, en tiempo casi real. IoT Hub publica eventos de dispositivo y eventos de telemetría.

Diferencias

Aunque tanto el enrutamiento de mensajes como Event Grid habilitan la configuración de alertas, hay algunas diferencias principales entre ambos. Consulte la tabla siguiente para más detalles:

Característica Enrutamiento de mensajes de IoT Hub Integración de IoT Hub con Event Grid
Eventos y mensajes de dispositivo Sí, el enrutamiento de mensajes admite datos de telemetría, cambios en dispositivos gemelos, eventos de ciclo de vida del dispositivo, eventos de cambio de gemelos digitales y eventos de estado de conexión de los dispositivos. Sí, Event Grid admite datos de telemetría y eventos de dispositivo, como creación, eliminación, conexión o desconexión de dispositivos. Sin embargo, no admite eventos de cambio de dispositivos gemelos y eventos de cambio de gemelos digitales.
Ordenación Sí, el enrutamiento de mensajes mantiene el orden de los eventos. No, Event Grid no garantiza el orden de los eventos.
Filtros Filtrado enriquecido de las propiedades de aplicación de mensajes, propiedades del sistema de mensajes, cuerpo del mensaje, etiquetas de dispositivos gemelos y propiedades de dispositivos gemelos. El filtrado no se aplica a los eventos de cambios de gemelos digitales. Para obtener ejemplos, consulte la sintaxis de consulta de enrutamiento de mensajes. Filtrado basado en el tipo de evento, el tipo de asunto y los atributos de cada evento. Para ver ejemplos, consulte Filtrado de eventos en suscripciones de Event Grid. Al suscribirse a eventos de telemetría, puede aplicar filtros en los datos para filtrar por las propiedades del mensaje, el cuerpo del mensaje y el dispositivo gemelo en su instancia de IoT Hub, antes de publicar en Event Grid. Consulte cómo filtrar eventos.
Extremos
  • Event Hubs
  • Azure Blob Storage
  • Cola de Service Bus
  • Temas de Service Bus
  • Cosmos DB

Las SKU de IoT Hub de pago (S1, S2 y S3) pueden tener 10 puntos de conexión personalizados y 100 rutas por IoT Hub.
  • Azure Functions
  • Azure Automation
  • Event Hubs
  • Logic Apps
  • Storage Blob
  • Temas personalizados
  • Queue Storage
  • Power Automate
  • Servicios de terceros mediante webhooks

Event Grid admite 500 puntos de conexión por IoT Hub. Para obtener la lista más actualizada de los puntos de conexión, consulte Controladores de eventos de Event Grid.
Costee El enrutamiento de mensajes no se cobra aparte. Solo se cobra una entrada de telemetría en IoT Hub. Por ejemplo, si tiene un mensaje enrutado a tres puntos de conexión diferentes, se le factura por un único mensaje. No hay cargos desde IoT Hub. Event Grid ofrece las primeras 100 000 operaciones al mes de forma gratuita, y luego 0,60 USD por millón de operaciones.

Similitudes

El enrutamiento de mensajes de IoT Hub y Event Grid también tienen similitudes, algunas de las cuales se detallan en la siguiente tabla:

Característica Enrutamiento de mensajes de IoT Hub Integración de IoT Hub con Event Grid
Tamaño de mensaje máximo 256 KB, del dispositivo a la nube 256 KB, del dispositivo a la nube
Confiabilidad Alta: entrega cada mensaje al punto de conexión por lo menos una vez en cada ruta. Expira todos los mensajes que no se entregan en una hora. Alta: entrega cada mensaje al webhook por lo menos una vez en cada suscripción. Expira todos los eventos que no se entregan en 24 horas.
Escalabilidad Alta: está optimizado para admitir millones de dispositivos conectados al mismo tiempo que envían miles de millones de mensajes. Alta: capaz de enrutar 10 000 000 eventos por segundo por región.
Latency Baja: casi en tiempo real. Baja: casi en tiempo real.
Envío a varios puntos de conexión Sí, envíe un único mensaje a varios puntos de conexión. Sí, envíe un único mensaje a varios puntos de conexión.
Seguridad IoT Hub ofrece identidad por dispositivo y control de acceso revocable. Para más información, consulte Control de acceso a IoT Hub. Event Grid proporciona validación en tres puntos: suscripciones a eventos, publicación de eventos y entrega de eventos de webhook. Para más información, vea Event Grid security and authentication (Seguridad y autenticación de Event Grid).

Cómo elegir

El enrutamiento de mensajes IoT Hub y la integración de Hub IoT con Event Grid realizan diferentes acciones para lograr resultados similares. Ambos toman información de la solución de IoT Hub y la transmiten para que otros servicios puedan reaccionar. Entonces, ¿cómo se decide cuál usar? Tenga en cuenta las siguientes preguntas a la hora de tomar una decisión:

  • ¿Qué tipo de datos se envían a los puntos de conexión?

    Utilice el enrutamiento de mensajes de IoT Hub cuando tenga que enviar datos de telemetría a otros servicios. El enrutamiento de mensajes también habilita la consulta de las propiedades de aplicación de mensajes y del sistema, el cuerpo del mensaje, las etiquetas de dispositivos gemelos y las propiedades de dispositivos gemelos.

    La integración de Hub de IoT con Event Grid funciona con eventos que tienen lugar en el servicio IoT Hub. Estos eventos de IoT Hub incluyen datos de telemetría y eventos de dispositivo creado, eliminado, conectado y desconectado. Al suscribirse a eventos de telemetría, puede aplicar filtros adicionales sobre los datos para filtrar por las propiedades del mensaje, el cuerpo del mensaje y el dispositivo gemelo en IoT Hub, antes de publicarlos en Event Grid. Consulte cómo filtrar eventos.

  • ¿Qué puntos de conexión deben recibir esta información?

    El enrutamiento de mensajes de IoT Hub admite un número limitado de puntos de conexión únicos y tipos de puntos de conexión, pero puede crear conectores para redirigir los datos y eventos a puntos de conexión adicionales. Para obtener una lista completa de los puntos de conexión admitidos, consulte la tabla de la sección anterior.

    La integración de IoT Hub con Event Grid admite 500 puntos de conexión por IoT Hub y una gran variedad de tipos de punto de conexión. Se integra de forma nativa con Azure Functions, Logic Apps, Storage y las colas de Service Bus, y también funciona con webhooks para ampliar el envío de datos fuera del ecosistema de servicios de Azure y a aplicaciones empresariales de terceros.

  • ¿Importa si los datos llegan en orden?

    El enrutamiento de mensajes de IoT Hub mantiene el orden en el que se envían los mensajes, de modo que lleguen de la misma manera.

    Event Grid no garantiza que los puntos de conexión reciban eventos en el mismo orden en que se produjeron. En aquellos casos en los que sea importante el orden absoluto de los mensajes o en los que un consumidor necesite un identificador único de confianza para los mensajes, se recomienda usar el enrutamiento de mensajes.

Pasos siguientes