Compartir vía


Leer mensajes del dispositivo a la nube desde el punto de conexión integrado

De forma predeterminada, los mensajes se enrutan al punto de conexión orientado al servicio integrado ( /messages/events), que es compatible con Event Hubs. IoT Hub expone el punto de conexión integrado messages/events para los servicios de back-end con el fin de leer los mensajes de dispositivo a nube recibidos por el centro. Este punto de conexión es compatible con Event Hubs, lo que permite usar cualquiera de los mecanismos que el servicio Event Hubs admite para leer mensajes.

Si usa el enrutamiento de mensajes y está habilitada la ruta de reserva, un mensaje que no coincida con una consulta en ninguna ruta se dirigirá al punto de conexión integrado. Si deshabilita esta ruta de reserva, se quitará todo mensaje que no coincida con ninguna consulta.

Actualmente, este punto de conexión solo se expone mediante el protocolo AMQP en el puerto 5671 y AMQP a través de WebSockets en el puerto 443. IoT Hub muestra las propiedades siguientes para permitirle controlar el punto de conexión de mensajería integrado compatible con Event Hubs messages/events.

Propiedad Descripción
Número de particiones Establezca esta propiedad durante la creación para definir el número de particiones para ingesta de eventos del dispositivo a la nube.
Tiempo de retención Esta propiedad especifica cuánto tiempo en días IoT Hub conserva los mensajes. El valor predeterminado es un día, pero se puede aumentar a siete días.

IoT Hub permite la retención de datos en el punto de conexión integrado un máximo de siete días. Puede establecer el tiempo de retención durante la creación del centro de IoT. El tiempo de retención de datos en IoT Hub depende del nivel y el tipo de unidad de su centro de IoT. En términos de tamaño, el punto de conexión integrado puede conservar los mensajes del tamaño máximo hasta al menos 24 horas de cuota. Por ejemplo, un centro de IoT de unidad S1 proporciona almacenamiento suficiente para conservar al menos 400 000 mensajes a 4 KB por mensaje. Si los dispositivos envían mensajes más pequeños, es posible que se conserven durante más tiempo (hasta siete días) en función de la cantidad de almacenamiento que se consume. Garantizamos la conservación de los datos durante el tiempo de retención especificado como mínimo. Después del tiempo de retención, los mensajes expiran y se vuelven inaccesibles. Puede modificar el tiempo de retención mediante programación con las API REST del proveedor de recursos de IoT Hub o con Azure Portal.

IoT Hub también le permite administrar grupos de consumidores en el punto de conexión integrado. Puede tener hasta 20 grupos de consumidores para cada centro de IoT.

Conexión al punto de conexión integrado

Algunas integraciones del producto y algunos SDK de Event Hubs tienen en cuenta el servicio IoT Hub y permiten usar la cadena de conexión de servicio del centro de IoT para conectarse al punto de conexión integrado.

Cuando se usan SDK de Event Hubs o integraciones de productos que no detectan IoT Hub, se necesita un punto de conexión compatible con Event Hubs y un nombre compatible con Event Hubs. Puede recuperar estos valores del portal como se indica a continuación:

  1. Inicie sesión en Azure Portal y vaya a IoT Hub.

  2. Seleccione Puntos de conexión integrados en el menú de recursos, en Configuración del centro.

  3. El panel de trabajo Puntos de conexión integrados contiene tres secciones:

    • La sección Detalles del centro de eventos contiene estos valores: Particiones, Nombre compatible con el centro de eventos, Retener durante y Grupos de consumidores.
    • La sección Punto de conexión compatible con el centro de eventos contiene estos valores: Directiva de acceso compartido y Punto de conexión compatible con el centro de eventos.
    • La sección Mensajería de la nube al dispositivo contiene estos valores: TTL predeterminado, Tiempo de retención de comentarios y Número máximo de entregas.

    Captura de pantalla en la que se muestra la configuración del dispositivo a la nube.

En el panel de trabajo, el campo Punto de conexión compatible con el centro de eventos contiene una cadena de conexión de Event Hubs completa similar al ejemplo siguiente:

Endpoint=sb://abcd1234namespace.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456

Si el SDK que utiliza requiere otros valores, serían los siguientes:

Nombre Value
Punto de conexión sb://abcd1234namespace.servicebus.windows.net/
Hostname abcd1234namespace.servicebus.windows.net
Espacio de nombres abcd1234namespace

Luego, puede elegir cualquier directiva de acceso compartido en la lista desplegable Directiva de acceso compartido, como en la captura de pantalla anterior. Solamente aparecerán las directivas que tengan permisos ServiceConnect para conectarse al centro de eventos especificado.

Ejemplos del SDK

Entre los SDK que se pueden usar para conectarse al punto de conexión compatible con Event Hubs que expone IoT Hub se incluyen los siguientes:

Lenguaje SDK Ejemplo
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs ReadD2cMessages .NET
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs read-d2c-messages Java
Node.js https://www.npmjs.com/package/@azure/event-hubs read-d2c-messages Node.js
Python https://pypi.org/project/azure-eventhub/ read-d2c-messages Python

Conexión a otros servicios y productos

Entre las integraciones de productos que se pueden usar con el punto de conexión integrado compatible con Event Hubs que expone IoT Hub se incluyen las siguientes:

Pasos siguientes