Todos los productos
Search
Centro de documentos

IoT Platform:Configurar una regla de reenvío de datos

Última actualización: Sep 08, 2026

La función de reenvío de datos del motor de reglas de IoT Platform permite reenviar los datos de un tema específico hacia otros temas o servicios de Alibaba Cloud. Este tema describe cómo configurar una regla de reenvío de datos. Para configurarla, siga estos pasos: cree una regla, escriba una instrucción SQL para el procesamiento de datos, especifique un destino de reenvío y defina un destino para los mensajes de error en caso de que el reenvío falle.

Procedimiento

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

  2. En la página Overview, busque la instancia que desea gestionar y haga clic en su ID o nombre.

  3. En el panel de navegación izquierdo, elija Message Forwarding > Data Forwarding.

  4. En la página Data Forwarding, haga clic en Create Rule.

    Importante

    Si aparece la página Data Forwarding de la versión más reciente, haga clic en Back to Previous Version en la esquina superior derecha. Cuando se muestre la página de la versión anterior, haga clic en Create Rule.

  5. Introduzca los parámetros y haga clic en Confirm.

    Parámetro

    Descripción

    Rule Name

    El nombre de la regla de reenvío de datos. Debe tener entre 1 y 30 caracteres, y puede contener letras, dígitos, guiones bajos (_) y guiones (-).

    Data format

    El formato de los datos que desea procesar con la regla. Valores válidos: JSON y Binary.

    Nota
    • Dado que el reenvío de datos procesa la información con base en los temas, el formato debe coincidir con el definido para el tema correspondiente.

    • Si selecciona Binary, la regla no podrá procesar mensajes de temas de comunicación básica ni de temas de comunicación de Thing Specification Language (TSL). Además, no será posible reenviar datos a Tablestore (OTS) ni a ApsaraDB RDS.

    Rule Description

    La descripción de la regla.

  6. Una vez creada la regla, se muestra la página rule details. Escriba una instrucción SQL para procesar los mensajes, especifique un destino de reenvío de datos y defina el destino al que se enviarán los mensajes de error.

    1. Haga clic en Write SQL e introduzca una instrucción SQL para procesar los campos del mensaje.

      Para obtener más información sobre cómo escribir instrucciones SQL, consulte SQL statements y Functions.

      Parámetro

      Descripción

      Rule Query Expression

      La instrucción SQL. Se genera automáticamente con base en los valores que especifique para los parámetros Field, Topic y Conditions (Optional).

      Field

      El campo del mensaje que se va a procesar. Este parámetro sigue a la palabra clave SELECT en la instrucción SQL.

      Por ejemplo, si introduce deviceName() as deviceName, se selecciona el campo deviceName del mensaje. Para conocer las funciones disponibles en este campo, consulte Functions.

      Nota

      Los datos de los temas de comunicación básica y de los temas de comunicación TSL utilizan el formato Alink JSON. Antes de reenviarlos al motor de reglas, se analizan según el modelo TSL correspondiente. Para más detalles sobre el análisis de datos, consulte Data forwarding procedure. Para conocer los formatos de los datos analizados, consulte Data formats. Al escribir la instrucción SQL, especifique los campos de acuerdo con el formato de los datos ya analizados.

      Topic

      El tema de origen del mensaje que se va a procesar. Este parámetro sigue a la palabra clave FROM en la instrucción SQL. Para ver los temas disponibles, consulte la tabla Topics a continuación.

      Importante

      Si establece el parámetro Data Type de la regla en Binary, configure este parámetro como Custom.

      Condition

      La condición de activación de la regla. Este parámetro sigue a la palabra clave WHERE en la instrucción SQL.

      Tabla 1. Descripción de los temas

      Tema

      Descripción

      Referencias

      Custom

      Un tema para reenviar mensajes en un formato de datos personalizado sigue el mismo formato que un tema personalizado: /${productKey}/${deviceName}/user/${TopicShortName}.

      ${TopicShortName} indica una categoría de tema personalizado, que corresponde al sufijo de dicho tema.

      El valor puede incluir caracteres comodín, como signos más (+) y signos de número (#).

      • Todos los equipos (+): representa todos los dispositivos del producto especificado.

      • /user/#: todos los temas personalizados de un dispositivo específico.

      Use custom topics for communication

      Device Status Change Notification

      El tema que se utiliza para reenviar notificaciones cuando el estado de un dispositivo cambia entre en línea y desconectado. Formato: /as/mqtt/status/${productKey}/${deviceName}.

      Device online and offline status

      TSL Data Reporting

      Incluye:

      • Un dispositivo reporta datos de propiedades al siguiente tema: /${productKey}/${deviceName}/thing/event/property/post.

      • Los datos de eventos reportados por un dispositivo se reenvían al tema /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post.

      • El tema para reenviar datos de propiedades por lotes desde los dispositivos es /${productKey}/${deviceName}/thing/property/batch/post.

      • El tema para reenviar datos de eventos por lotes desde los dispositivos es /${productKey}/${deviceName}/thing/event/batch/post.

      • Un dispositivo envía mensajes de respuesta a comandos de la nube al siguiente tema: /${productKey}/${deviceName}/thing/downlink/reply/message.

      A continuación se muestran los temas que se usan para enviar datos sin procesar de los dispositivos:

      • /sys/${productKey}/${deviceName}/thing/event/property/post: este tema sirve para enviar las propiedades del dispositivo.

      • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post y /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post: estos temas sirven para enviar los eventos del dispositivo.

      • /sys/${productKey}/${deviceName}/thing/event/property/batch/post: este tema sirve para enviar propiedades y eventos del dispositivo por lotes.

      Device Changes Throughout Lifecycle

      El tema que se utiliza para reenviar mensajes cuando se crea, elimina, deshabilita o habilita un dispositivo. Formato: /${productKey}/${deviceName}/thing/lifecycle.

      Changes to the device lifecycle

      Sub-Device Data Report Detected by Gateway

      El tema /${productKey}/${deviceName}/thing/list/found lo utilizan los dispositivos de puerta de enlace para reportar a IoT Platform la información de los subdispositivos detectados.

      Gateway discovery of sub-devices

      Device Topological Relation Changes

      El tema que se utiliza para reenviar notificaciones cuando se crean o eliminan relaciones topológicas entre los subdispositivos y la puerta de enlace. Este tema es exclusivo de las puertas de enlace. Formato: /${productKey}/${deviceName}/thing/topo/lifecycle.

      Device Topological Relation Changes

      Un dispositivo usa el tema /sys/${productKey}/${deviceName}/thing/topo/change para reportar datos sin procesar.

      Notify gateways of changes of topological relationships

      Device tag change

      El tema para reenviar actualizaciones de etiquetas de dispositivos es /${productKey}/${deviceName}/thing/deviceinfo/update.

      Changes to device tags

      Un dispositivo usa el siguiente tema para reportar datos sin procesar: /sys/${productKey}/${deviceName}/thing/deviceinfo/update.

      Submit tags

      TSL Historical Data Reporting

      Incluye:

      • /${productKey}/${deviceName}/thing/event/property/history/post: este tema sirve para reenviar propiedades históricas.

      • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post: este tema sirve para reenviar eventos históricos.

      /sys/${productKey}/${deviceName}/thing/event/property/history/post: este tema sirve para enviar datos históricos de TSL.

      How to report historical data for a Thing Specification Language model

      Device Status Notification for OTA Updates

      Incluye:

      • El tema para reenviar el resultado de la actualización OTA de un dispositivo es /${productKey}/${deviceName}/ota/upgrade.

      • Un dispositivo reporta el progreso de la actualización OTA al tema /${productKey}/${deviceName}/ota/progress/post.

      Un dispositivo reporta su progreso de actualización al siguiente tema: /ota/device/progress/${productKey}/${deviceName}.

      Reporting device upgrade progress

      Submit a module version number

      El tema para reportar una versión actualizada del módulo Over-the-Air (OTA): /${productKey}/${deviceName}/ota/version/post.

      Notice of OTA Module Version Changes

      Un dispositivo usa el siguiente tema para reportar la versión de su módulo OTA: /ota/device/inform/${productKey}/${deviceName}.

      Device reports the OTA module version

      Batch status notification

      IoT Platform publica notificaciones de cambio de estado para un lote de actualizaciones OTA en el siguiente tema: /${productKey}/${packageId}/${jobId}/ota/job/status.

      Status Notifications for OTA Update Batches

      Job Event

      Incluye los siguientes temas:

      • Notificaciones de estado de trabajos de dispositivos: /sys/uid/${uid}/job/${jobId}/lifecycle.

      • Notificaciones de estado de trabajos de migración de instancias: /sys/uid/${uid}/distribution/${jobId}/lifecycle.

        Nota

        El nombre del producto que se va a migrar se utiliza como nombre del trabajo de migración de la instancia.

    2. En la sección Twin Node Attribute Change, haga clic en Forward Data para especificar un destino de reenvío de datos. Para más información sobre cómo configurar esta función, consulte los temas relacionados en el directorio Data forwarding examples.

      Nota

      Cada regla admite hasta 10 operaciones de reenvío de datos.

      Cuando el reenvío falla porque el servicio en la nube de destino presenta anomalías:

      • Al reenviar datos a servicios en la nube como ApsaraMQ for RocketMQ, ApsaraDB RDS y ApsaraDB for Lindorm, el acceso puede fallar debido a cambios en los recursos. En ese caso, IoT Platform detiene el reenvío y cambia el estado de la regla a Add Operation. Deberá especificar un nuevo destino para el reenvío.

      • Ante otras excepciones, IoT Platform reintenta tres veces con intervalos de 1, 3 y 10 segundos. La política de reintentos varía según el escenario. Si todos los intentos fallan, el mensaje se descarta. Si su negocio exige alta confiabilidad en los mensajes, agregue una operación de error para reenviarlos a otros servicios en la nube.

    3. En la sección Forward Error Data, haga clic en Abnormal. Luego, configure los parámetros para que los mensajes de error se envíen al destino indicado cuando fallen todos los reintentos.Add Error Operation

      Importante
      • Solo se permite agregar una operación de manejo de errores por cada regla.

      • Una operación normal y una de manejo de errores no pueden reenviar mensajes al mismo destino. Por ejemplo, no es posible enviar datos normales y de error a OTS simultáneamente.

      • Si falla el reenvío de un mensaje de error, no se realizan reintentos.

      • Los mensajes de error solo se generan cuando el motor de reglas no logra reenviar los datos por problemas en otros servicios en la nube.

      Si un mensaje no se puede reenviar a un servicio en la nube, IoT Platform vuelve a intentarlo. Si el reintento falla, se envía un mensaje de error conforme a la operación de error que haya configurado.

      Formato del mensaje de error:

      {
         "ruleName":"",
         "topic":"",
         "productKey":"",
         "deviceName":"",
         "messageId":"",
         "base64OriginalPayload":"",
         "failures":[
          {
           "actionType":"OTS",
           "actionRegion":"cn-shanghai",
           "actionResource":"table1",
           "errorMessage":""
          },
          {
           "actionType":"RDS",
           "actionRegion":"cn-shanghai",
           "actionResource":"instance1/table1",
           "errorMessage":""
          }
         ]
      }

      A continuación se describen los parámetros de los mensajes de error.

      Parámetro

      Descripción

      ruleName

      El nombre de la regla.

      topic

      El tema de origen del mensaje.

      productKey

      La ProductKey del producto.

      deviceName

      El DeviceName del dispositivo.

      messageId

      El ID del mensaje enviado desde IoT Platform.

      base64OriginalPayload

      Los datos sin procesar codificados en Base64.

      failures

      Los detalles del error. Pueden presentarse varios errores.

      actionType

      El tipo de operación que falló.

      actionRegion

      La región donde ocurrió el error.

      actionResource

      El recurso afectado por la operación con errores.

      errorMessage

      El mensaje de error.

  7. Vaya a la página . Busque la regla que configuró y haga clic en Data Forwarding en la columna Actions. Una vez habilitada, los datos se reenviarán según lo establecido.

    También puede realizar las siguientes acciones:

    Operación

    Descripción

    Consultar

    En la página Start, actualice la configuración de una regla. Por ejemplo, modifique o elimine el tema de origen de datos o el destino de reenvío.

    Eliminar

    Elimine la regla.

    Importante

    No es posible eliminar las reglas en estado Running.

    Detener

    Detenga el reenvío de datos de la regla.

    Aviso

    Si alguna de sus aplicaciones necesita usar los datos de dispositivos reenviados mediante una regla, pero dicha regla se elimina o deshabilita, o bien se elimina su destino de reenvío, sus servicios podrían dejar de estar disponibles. Esto podría interrumpir su operación comercial. Proceda con precaución.

Qué hacer a continuación

En la página Data Forwarding Rules, consulte el estado de la regla, compruebe si se configuró un destino de reenvío y verifique que los datos lleguen correctamente a dicho destino.