Todos los productos
Search
Centro de documentos

IoT Platform:Configurar suscripciones del lado del servidor de MNS

Última actualización: Sep 03, 2026

Si un producto genera menos de 1,000 QPS de mensajes de dispositivo y requiere un procesamiento detallado, reenvíe los mensajes desde IoT Platform hacia Simple Message Queue (anteriormente MNS) (SMQ) para su consumo. Al configurar una suscripción del lado del servidor para un producto y un tipo de mensaje, se crea automáticamente una cola de SMQ. Su cliente de SMQ escucha dicha cola para recibir los mensajes del dispositivo.

Requisitos previos

A product is created.

Contexto

Alibaba Cloud Simple Message Queue (anteriormente MNS) (SMQ) es un servicio de mensajería distribuida. SMQ permite la transferencia de datos y la entrega de notificaciones entre componentes de aplicaciones distribuidas.

IoT Platform utiliza el modelo de mensajería basado en colas de SMQ para recibir mensajes de dispositivos. Queue-based messaging model features y Basic concepts of the queue-based messaging model.

Término

Descripción

Suscripción del lado del servidor de MNS

Configure una suscripción del lado del servidor para un producto y un tipo de mensaje en IoT Platform con el fin de crear automáticamente una cola de SMQ.

Cliente de MNS

Consumidor que utiliza el SDK en la nube de SMQ en su servidor empresarial para recibir mensajes de dispositivos. Guía para desarrolladores del SDK en la nube de SMQ: SDK download and usage.

Tipo de mensaje

Categoría de mensajes clasificados por tema del dispositivo. Tras suscribirse a un tipo de mensaje, solo los mensajes de dispositivo correspondientes a los temas asociados bajo ese tipo pueden reenviarse al cliente de MNS.

Los temas de dispositivo para cada tipo de mensaje se enumeran en la tabla Temas de tipos de mensaje que aparece a continuación.

IoT Platform ofrece suscripciones del lado del servidor y reenvío de datos. Ambas funciones reenvían mensajes de dispositivos a un cliente de SMQ para su consumo. El reenvío de datos le permite especificar temas de dispositivo y procesar la información antes de reenviarla. Comparison of data forwarding solutions. Para configurar el reenvío de datos, consulte: Add a data source to forward data y Forward data to Message Service (MNS).

Límites

  • Las suscripciones del lado del servidor de MNS no son compatibles con instancias Enterprise en las regiones China (Beijing), China (Shenzhen), Singapore, Japan (Tokyo), US (Virginia), US (Silicon Valley) ni Germany (Frankfurt).

  • Solo se permite una suscripción a cola de SMQ por producto. Los mensajes que excedan el límite de suscripción del lado del servidor de MNS no se reenvían. Límites relacionados con colas: Limits.

  • Después de crear una suscripción del lado del servidor de MNS, SMQ cobra una tarifa por uso de recursos de cola, incluso si no se reenvían mensajes a dicha cola.

  • Cada mensaje recibido por una cola de SMQ no puede superar los 64 KB. Los mensajes que excedan este tamaño se descartan.

Facturación

  • La cantidad de mensajes de dispositivo que puede reenviar a SMQ depende de la especificación disponible de Message Forwarding TPS de la instancia del dispositivo. En instancias públicas, el valor de Message Forwarding TPS es fijo (5 mensajes/segundo) y no tiene costo. En instancias Enterprise, la especificación de Message Forwarding TPS se factura mediante suscripción. La capacidad disponible depende de la especificación de Message Forwarding TPS adquirida para la instancia. Billing overview.

  • SMQ cobra una tarifa por la recepción de mensajes. Billing.

Crear una suscripción del lado del servidor

Al crear una suscripción del lado del servidor de MNS para un producto y un tipo de mensaje en IoT Platform, se genera automáticamente una cola de mensajes en la misma región dentro de SMQ bajo su cuenta. Una aplicación que utilice el SDK en la nube de SMQ puede escuchar esta cola para recibir los mensajes de dispositivo suscritos.

  1. Inicie sesión en la consola de IoT Platform.

  2. En la página Overview, haga clic en All environment. En la pestaña All environment, localice la instancia que desea gestionar y haga clic en su ID o nombre.

  3. En el panel de navegación izquierdo, seleccione Message Forwarding > Server-side Subscription.

  4. En la página Server-side Subscription, dentro de la pestaña Subscription List, haga clic en Create Subscription.

  5. En el cuadro de diálogo Create Subscription, configure los parámetros y haga clic en OK.

    Parámetro

    Descripción

    Product

    Seleccione el producto cuyos dispositivos desea suscribir.

    Subscription Type

    Seleccione MNS.

    Authorization

    Haga clic en Authorize y luego active SMQ; conceda los permisos según las indicaciones.

    Nota

    Si ya activó SMQ y otorgó los permisos correspondientes, omita este paso.

    Authorize Now

    Haga clic en Authorize Now y después en Agree to Authorization. El sistema crea el rol AliyunIOTAccessingMNSRole para otorgar a IoT Platform los permisos necesarios para acceder a SMQ y reenviar mensajes hacia SMQ.

    Nota

    Si el rol AliyunIOTAccessingMNSRole ya fue creado, omita este paso.

    Message Type to Push

    Seleccione los tipos de mensaje a los que desea suscribirse:

    Importante

    Para productos y dispositivos bajo una puerta de enlace en la nube, solo pueden enviarse datos de Device-reported messages, Device status change notifications y Device lifecycle changes. Temas y formatos de datos para el reenvío de mensajes: Message communication over MQTT, Message forwarding over GB/T 32960, Message forwarding over JT/T 808.

    • Device-reported messages: Mensajes provenientes de temas cuyo Operation Permission está definido como Publish en la lista de temas de todos los dispositivos bajo el producto.

      Los mensajes reportados por el dispositivo incluyen datos personalizados y datos del modelo Thing Specification Language (TSL) (propiedades reportadas, eventos reportados, respuestas a configuración de propiedades y respuestas a invocaciones de servicios). Los datos del modelo TSL enviados al lado del servidor son procesados por IoT Platform. Formato de datos: Data format.

      Por ejemplo, suponga que un producto tiene tres categorías de temas:

      • /${productKey}/${deviceName}/user/get, que cuenta con permiso de suscripción.

      • /${productKey}/${deviceName}/user/update, que cuenta con permiso de publicación.

      • /${productKey}/${deviceName}/thing/event/property/post, que cuenta con permiso de publicación.

      En este caso, la suscripción del lado del servidor reenviará mensajes de las categorías de temas con permiso de publicación, es decir: /${productKey}/${deviceName}/user/update y /${productKey}/${deviceName}/thing/event/property/post.

    • Device status change notifications: Mensajes generados cuando cambia el estado en línea o fuera de línea de un dispositivo perteneciente al producto.

    • Sub-device discovery reports from gateway: La puerta de enlace reporta información sobre subdispositivos descubiertos a IoT Platform. Esto requiere soporte por parte de la aplicación en la puerta de enlace. Este tipo de mensaje es exclusivo de productos de puerta de enlace.

    • Device topology changes: Mensajes relacionados con la creación y eliminación de la topología entre un subdispositivo y una puerta de enlace. Este tipo de mensaje es exclusivo de productos de puerta de enlace.

    • Device lifecycle changes: Mensajes sobre la creación, eliminación, deshabilitación y habilitación de dispositivos.

    • TSL model historical data reports: Datos históricos de propiedades y eventos reportados por el dispositivo.

    • OTA update status notifications: Notificaciones de eventos sobre actualizaciones exitosas o fallidas durante la verificación de paquetes de actualización y actualizaciones OTA masivas.

    Tabla 1. Descripción de parámetros

    Tipo de mensaje

    Descripción del tema

    Referencias

    Device-reported messages: Tema personalizado

    Un tema personalizado cuyo Operation Permission sea Publish. El tema para reenviar mensajes en formato de datos personalizado coincide con el tema personalizado original.

    Use custom topics for communication

    Device-reported messages: Datos del modelo TSL

    Los temas de reenvío de mensajes incluyen los siguientes:

    • Tema para reportar propiedades del dispositivo: /${productKey}/${deviceName}/thing/event/property/post.

    • Tema para reportar eventos del dispositivo: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post.

    • Tema para reportar propiedades del dispositivo en lote: /${productKey}/${deviceName}/thing/property/batch/post.

    • Tema para reportar eventos del dispositivo en lote: /${productKey}/${deviceName}/thing/event/batch/post.

    • Tema para devolver respuesta a un comando desde la nube: /${productKey}/${deviceName}/thing/downlink/reply/message.

    Los temas correspondientes para datos sin procesar reportados por el dispositivo son los siguientes:

    • Tema para reportar propiedades del dispositivo: /sys/${productKey}/${deviceName}/thing/event/property/post.

    • Temas para reportar eventos del dispositivo: /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post, /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post.

    • Tema para reportar propiedades y eventos del dispositivo en lote: /sys/${productKey}/${deviceName}/thing/event/property/batch/post.

    • Tema para devolver respuesta a un comando desde la nube: /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identifier}_reply

    Device status change notifications

    IoT Platform reenvía directamente mensajes sobre cambios de estado en línea/fuera de línea del dispositivo. El tema es /as/mqtt/status/${productKey}/${deviceName}.

    Device online/offline status

    Sub-device discovery reports from gateway

    Tema específico para dispositivos de puerta de enlace: /${productKey}/${deviceName}/thing/list/found. La puerta de enlace reporta información sobre subdispositivos descubiertos a IoT Platform y dicha información se reenvía posteriormente.

    Gateway discovers a sub-device

    Device topology changes

    Tema específico para dispositivos de puerta de enlace: /${productKey}/${deviceName}/thing/topo/lifecycle. Se utiliza para reenviar mensajes sobre la creación y eliminación de la topología entre un subdispositivo y una puerta de enlace.

    Device topology changes

    El tema correspondiente para datos sin procesar reportados por el dispositivo: /sys/${productKey}/${deviceName}/thing/topo/change.

    Notify a gateway of topology changes

    Device lifecycle changes

    IoT Platform reenvía directamente mensajes sobre creación, eliminación, deshabilitación y habilitación de dispositivos. El tema es /${productKey}/${deviceName}/thing/lifecycle.

    Device lifecycle changes

    TSL model historical data reports

    Los temas de reenvío de mensajes incluyen los siguientes:

    • Tema para reportar datos históricos de propiedades: /${productKey}/${deviceName}/thing/event/property/history/post.

    • Tema para reportar datos históricos de eventos: /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post.

    El tema para reportar datos históricos del modelo TSL: /sys/${productKey}/${deviceName}/thing/event/property/history/post.

    Report historical TSL model data

    OTA update status notifications

    Los temas de reenvío de mensajes incluyen los siguientes:

    • Tema para reportar resultados de actualización OTA: /${productKey}/${deviceName}/ota/upgrade.

    • Tema para reportar progreso de actualización OTA: /${productKey}/${deviceName}/ota/progress/post.

    El tema para reportar progreso de actualización: /ota/device/progress/${productKey}/${deviceName}.

    Report update progress

  6. En el cuadro de diálogo de confirmación que aparece, haga clic en OK.

    Se crea automáticamente una cola en SMQ dentro de SMQ. El nombre de la cola sigue el formato aliyun-iot-${productKey}, por ejemplo: aliyun-iot-ws4******.

    Nota

    Eliminar una suscripción del lado del servidor de MNS en IoT Platform también elimina automáticamente la cola correspondiente de SMQ en SMQ.

Desarrollar un cliente consumidor

Tras configurar una suscripción del lado del servidor de MNS, utilice el SDK en la nube de SMQ en su servidor empresarial para escuchar la cola de SMQ y recibir los mensajes de dispositivo suscritos. Esto permite que su aplicación en la nube de SMQ reciba mensajes de dispositivos provenientes de IoT Platform.

IoT Platform recomienda usar el ejemplo ConsumerDemo del modelo de mensajería basado en colas incluido en el SDK de Java de SMQ para escuchar la cola de SMQ creada, por ejemplo: aliyun-iot-ws4******.

Descargue el paquete de ejemplos más reciente desde Java SDK release notes. ConsumerDemo in the Queue User Guide.

En el archivo ConsumerDemo, configure el nombre de la cola de SMQ que IoT Platform creó automáticamente, por ejemplo: aliyun-iot-ws4******.

CloudQueue queue = client.getQueueRef("aliyun-iot-ws4******");

Formato de datos de los mensajes recibidos

Una vez que un dispositivo se conecta a IoT Platform y envía mensajes, el cliente de SMQ recibe los mensajes con el siguiente formato. Desarrollo del lado del dispositivo: Connect a device using a device SDK.

{
    "messageid":" ",
    "messagetype":"upload",
    "topic":"/al12345****/device123/user/update",
    "payload":" ", 
    "timestamp": " "
}

Parámetro

Descripción

messageid

ID del mensaje generado por IoT Platform.

messagetype

Tipo de mensaje. Valores válidos:

  • upload: mensaje reportado por el dispositivo.

  • status: notificación de cambio de estado del dispositivo.

  • topo_listfound: reporte de descubrimiento de subdispositivo desde la puerta de enlace.

  • topo_lifecycle: cambio de topología del dispositivo.

  • device_lifecycle: cambio en el ciclo de vida del dispositivo.

  • thing_history: reporte de datos históricos del modelo TSL.

  • ota_event: notificación de estado de actualización OTA.

topic

Tema de IoT Platform al que escucha el servidor.

Los temas se listan en la tabla Descripciones de temas dentro de la sección Crear una suscripción del lado del servidor.

payload

Datos del mensaje codificados en Base64.

Formato de datos de tema y carga útil para mensajes reenviados a Simple Message Queue (anteriormente MNS): Data format.

timestamp

Marca de tiempo en formato Epoch.

Referencias