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, pueden conservarse durante más tiempo (hasta siete días) según la cantidad de almacenamiento que se consuma. Garantizamos la conservación de los datos durante el tiempo de retención especificado como mínimo. Una vez transcurrido el tiempo de retención, los mensajes expiran y dejan de estar accesibles. 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.

Si usa SDK o integraciones del productos de Event Hubs que no tienen en cuenta IoT Hub, necesita un punto de conexión y un nombre compatibles 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.

    Screen capture showing device-to-cloud settings.

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

Los SDK que puede usar para conectarse al punto de conexión compatible con Event Hubs integrado que muestra IoT Hub incluyen:

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

Las integraciones del producto que puede usar con el punto de conexión compatible con Event Hubs integrado que muestra IoT Hub incluyen:

Pasos siguientes