Todos los productos
Search
Centro de documentos

IoT Platform:CreateRuleAction

Última actualización: Sep 04, 2026

Cree una acción de regla para una regla específica con el fin de reenviar datos procesados desde un tema hacia otro tema o hacia un servicio compatible de Alibaba Cloud.

Límites

  • Los servicios de destino de Alibaba Cloud compatibles con el motor de reglas varían según la región. Para obtener más información sobre las regiones y los servicios en la nube de destino compatibles con el motor de reglas, consulte Regiones y zonas.

  • Se pueden crear hasta 10 acciones de regla por cada regla.

  • Puede llamar a esta operación de API para definir acciones de regla que reenvíen datos a un tema de IoT Platform, a un grupo de consumidores AMQP o a un servicio de Alibaba Cloud. Los servicios compatibles de Alibaba Cloud incluyen Message Service (MNS), Function Compute y Tablestore. Si necesita reenviar datos a ApsaraDB RDS, debe utilizar la consola de IoT Platform.

  • Cada cuenta de Alibaba Cloud puede ejecutar un máximo de 50 consultas por segundo (QPS).

    Nota

    Los usuarios RAM de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.

Depuración

Alibaba Cloud proporciona OpenAPI Explorer para simplificar el uso de la API. OpenAPI Explorer calcula automáticamente el valor de la firma. Para su comodidad, se recomienda llamar a esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente el código de ejemplo de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíCreateRuleAction

La operación que se va a realizar. Establezca el valor en CreateRuleAction.

ConfigurationStringSínull

Las configuraciones de la acción de regla. Debe especificar una cadena JSON. Las configuraciones varían según el tipo de acción de regla. Para obtener más información sobre la sintaxis obligatoria y ejemplos, consulte las tablas a continuación.

RuleIdLongSí100000

El ID de la regla para la cual desea crear una acción. Inicie sesión en la consola de IoT Platform, y elija Rules > Data Forwarding para consultar el ID de la regla. También puede llamar a la operación ListRule y consultar el ID de la regla en la respuesta.

TypeStringSíREPUBLISH

El tipo de acción de regla. Valores válidos:

  • REPUBLISH: reenvía los datos del tema procesados por el motor de reglas a otro tema de IoT Platform.
  • AMQP: reenvía datos a un grupo de consumidores AMQP.

  • MNS: reenvía los datos procesados por el motor de reglas a Message Service (MNS).
  • FC: reenvía los datos del tema procesados por el motor de reglas a Function Compute para el procesamiento de eventos.
  • OTS: reenvía los datos procesados por el motor de reglas a OTS para el almacenamiento de datos NoSQL.
Nota Si establece el parámetro DataType en BINARY, las reglas se crean en formato binario. Estas reglas no se pueden utilizar para reenviar datos a Tablestore.
IotInstanceIdStringNoiot-cn-0pp1n8t****

El ID de la instancia. Consulte el ID de la instancia en la página Overview de la consola de IoT Platform.

Importante
  • Si su instancia tiene un ID, configure este parámetro. Si no establece este parámetro, la llamada fallará.
  • Si su instancia no tiene página de Overview ni ID, no necesita establecer este parámetro.

Para obtener más información, consulte Descripción general.

ErrorActionFlagBooleanNofalse

Especifica si la acción de regla reenvía datos de operaciones con errores. Los datos de operaciones con errores se generan cuando el motor de reglas no logra reenviar datos desde el tema de IoT Platform al servicio en la nube de destino. Un fallo en el reenvío de datos indica que los reintentos de reenvío también fallaron. Valores válidos:

  • true: reenvía datos de operaciones con errores.
  • false: reenvía datos normales en lugar de datos de operaciones con errores.

Valor predeterminado: false.

Configuraciones del tipo REPUBLISH

Parámetro

Descripción

topic

El tema de destino. Especifique un tema de comunicación de Thing Specification Language (TSL) o un tema personalizado. Puede reenviar datos a los siguientes temas de comunicación TSL descendentes:

/sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}

Reemplace la variable ${tsl.service.identifier} con un identificador de servicio definido en el modelo TSL.

topicType

El tipo de tema. Valores válidos:

0: un tema de comunicación TSL descendente.

1: un tema personalizado.

Ejemplos

A system topic: {"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}
A custom topic: {"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}
            

Configuraciones del tipo DATAHUB

Parámetro

Descripción

projectName

El nombre del proyecto de DataHub que se utiliza para recibir datos.

topicName

El nombre del tema de DataHub que se utiliza para recibir datos.

regionName

El código de la región donde se despliega DataHub. Ejemplo: cn-shanghai.

role

La información sobre el rol de RAM. Otorgue acceso a DataHub a IoT Platform mediante la asignación de un rol de servicio a IoT Platform. La sintaxis de un rol de RAM es:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}

Reemplace 6541*** con su ID de Alibaba Cloud. Inicie sesión en la consola de administración de Alibaba Cloud y consulte el ID de la cuenta en la página Security Settings.

AliyunIOTAccessingDataHubRole indica un rol vinculado al servicio definido en RAM. Este rol se utiliza para otorgar acceso a DataHub a IoT Platform. Vaya a la página RAM Roles de la consola de RAM para gestionar los roles de RAM.

schemaVals

El esquema de DataHub. Para obtener más información, consulte la tabla SchemaVals a continuación.

schemaVals

Parámetro

Descripción

name

El nombre de la columna.

value

El valor de la columna.

type

El tipo de datos de la columna. Valores válidos:

BIGINT: entero grande

DOUBLE: flotante de doble precisión

BOOLEAN: booleano.

TIMESTAMP: marca de tiempo.

STRING: cadena.

DECIMAL: decimal.

Ejemplo

{
    "schemaVals": [
        {
            "name": "devicename",
            "value": "${deviceName}",
            "type": "STRING"
        },
        {
            "name": "msgtime",
            "value": "${msgTime}",
            "type": "TIMESTAMP"
        }
    ],
    "role": {
        "roleArn": "acs:ram::6541***:role/aliyuniotaccessingdatahubrole",
        "roleName": "AliyunIOTAccessingDataHubRole"
    },
    "projectName": "iot_datahub_stream",
    "topicName": "device_message",
    "regionName": "cn-shanghai"
}
            

Configuraciones del tipo OTS

Parámetro

Descripción

instanceName

El nombre de la instancia de Tablestore que se utiliza para recibir datos.

tableName

El nombre de la tabla que se utiliza para recibir datos.

regionName

El código de la región donde se despliega Tablestore. Ejemplo: cn-shanghai.

role

La información sobre el rol de RAM. Otorgue acceso a Tablestore a IoT Platform mediante la asignación de un rol de servicio a IoT Platform. La sintaxis de un rol de RAM es:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}

Reemplace 6541*** con su ID de Alibaba Cloud. Inicie sesión en la consola de administración de Alibaba Cloud y consulte el ID de la cuenta en la página Security Settings.

AliyunIOTAccessingOTSRole indica un rol vinculado al servicio definido en RAM. Este rol se utiliza para otorgar acceso a Tablestore a IoT Platform. Vaya a la página RAM Roles de la consola de RAM para gestionar los roles de RAM.

primaryKeys

La lista de claves principales en la tabla de destino. Para obtener más información, consulte la tabla PrimaryKeys a continuación.

PrimaryKeys

Parámetro

Descripción

columnType

El tipo de datos de la clave principal. Valores válidos:

INTEGER: entero

STRING: cadena

BINARY: binario

columnName

El nombre de la clave principal.

columnValue

El valor de la clave principal.

option

Especifica si la clave principal es una columna de incremento automático. Establezca el parámetro en AUTO_INCREMENT o déjelo vacío. La clave principal es una columna de incremento automático si los parámetros columnType y option se establecen en INTEGER y AUTO_INCREMENT, respectivamente.

Ejemplo

{
    "instanceName": "testaaa",
    "tableName": "tt",
    "primaryKeys": [
        {
            "columnType": "STRING",
            "columnName": "ttt",
            "columnValue": "${tt}",
            "option": ""
        },
        {
            "columnType": "INTEGER",
            "columnName": "id",
            "columnValue": "",
            "option": "AUTO_INCREMENT"
        }
    ],
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingotsrole",
        "roleName": "AliyunIOTAccessingOTSRole"
    }
}
            

Configuraciones del tipo MNS

Parámetro

Descripción

themeName

El nombre del tema de MNS que se utiliza para recibir datos.

regionName

El código de la región donde se despliega MNS. Ejemplo: cn-shanghai.

role

La información sobre el rol de RAM. Otorgue acceso a MNS a IoT Platform mediante la asignación de un rol de servicio a IoT Platform. La sintaxis de un rol de RAM es:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

Reemplace 6541*** con su ID de Alibaba Cloud. Inicie sesión en la consola de administración de Alibaba Cloud y consulte el ID de la cuenta en la página Security Settings.

AliyunIOTAccessingMNSRole indica un rol vinculado al servicio definido en RAM. Este rol se utiliza para otorgar acceso a MNS a IoT Platform. Vaya a la página RAM Roles de la consola de RAM para gestionar los roles de RAM.

Ejemplo

{
    "themeName": "mns-test-topic1",
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    }
}
            

Configuraciones del tipo FC

Parámetro

Descripción

functionName

El nombre de la función que se utiliza para recibir datos.

serviceName

El nombre del servicio que se utiliza para recibir datos.

regionName

El código de la región donde se despliega Function Compute. Ejemplo: cn-shanghai.

role

La información sobre el rol de RAM. Otorgue acceso a Function Compute a IoT Platform mediante la asignación de un rol de servicio a IoT Platform. La sintaxis de un rol de RAM es:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}

Reemplace 6541*** con su ID de Alibaba Cloud. Inicie sesión en la consola de administración de Alibaba Cloud y consulte el ID de la cuenta en la página Security Settings.

AliyunIOTAccessingFCRole indica un rol vinculado al servicio definido en RAM. Este rol se utiliza para otorgar acceso a Function Compute a IoT Platform. Vaya a la página RAM Roles de la consola de RAM para gestionar los roles de RAM.

Ejemplo

{
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingfcrole",
        "roleName": "AliyunIOTAccessingFCRole"
    },
    "functionName": "weatherForecast",
    "serviceName": "weather"
}
            

Configuraciones del tipo ONS

Nota

Debe llamar al SDK o usar la consola de Message Queue for Apache RocketMQ para otorgar acceso al servicio a IoT Platform. IoT Platform debe tener autorización para publicar mensajes en Message Queue for Apache RocketMQ. Posteriormente, podrá crear una acción de regla para reenviar datos al servicio.

Parámetro

Descripción

instanceId

El ID de la instancia de Message Queue for Apache RocketMQ que se utiliza para recibir datos.

topic

El nombre del tema de Message Queue for Apache RocketMQ que se utiliza para recibir datos.

regionName

El código de la región donde se despliega Message Queue for Apache RocketMQ. Ejemplo: cn-shanghai.

Para reenviar datos a través de Internet en la misma zona, use una instancia común de Message Queue for Apache RocketMQ. Para reenviar datos entre zonas, debe usar una instancia de Message Queue for Apache RocketMQ Platinum Edition.

tag

Opcional. La etiqueta. La etiqueta no puede exceder los 128 bytes de longitud.

role

La información sobre el rol de RAM. Otorgue acceso a Message Queue for Apache RocketMQ a IoT Platform mediante la asignación de un rol de servicio a IoT Platform. La sintaxis de un rol de RAM es:

{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}

Reemplace 6541*** con su ID de Alibaba Cloud. Inicie sesión en la consola de administración de Alibaba Cloud y consulte el ID de la cuenta en la página Security Settings.

AliyunIOTAccessingONSRole indica un rol vinculado al servicio definido en RAM. Este rol se utiliza para otorgar acceso a Message Queue for Apache RocketMQ a IoT Platform. Vaya a la página RAM Roles de la consola de RAM para gestionar los roles de RAM.

Ejemplo

{
    "instanceId": "MQ_INST_123157908552****_XXXXXX"
    "topic": "aliyun-iot-XXXXX",
    "regionName": "cn-hangzhou",
    "role": {
        "roleArn": "acs:ram::6541***:role/aliyuniotaccessingonsrole",
        "roleName": "AliyunIOTAccessingONSRole"
    }
}
            

Configuraciones del tipo AMQP

Parámetro

Descripción

groupId

El ID del grupo de consumidores.

Ejemplo

{
    "groupId":"ZTh1JmyLGuZcUfv44p4z00****"
}
            

Además de los parámetros de solicitud específicos de la operación anteriores, debe especificar parámetros de solicitud comunes al llamar a esta operación. Para obtener más información, consulte Parámetros de solicitud comunes.

Parámetros de respuesta

ParámetroTipoEjemploDescripción
ActionIdLong10003

El ID de la acción. El motor de reglas genera el ID de acción si la llamada es exitosa.

Nota Guarde la información para futuras referencias. Cuando llame a una operación relacionada con la acción de regla, deberá proporcionar el ID de la acción.
CodeStringiot.system.SystemException

El código de error devuelto si la llamada falla. Para obtener más información, consulte Códigos de error.

ErrorMessageStringA system exception occurred.

El mensaje de error devuelto si la llamada falla.

RequestIdString21D327AF-A7DE-4E59-B5D1-ACAC8C024555

El ID de la solicitud.

SuccessBooleantrue

Indica si la llamada fue exitosa.

  • true: La llamada fue exitosa.
  • false: La llamada falló.

Ejemplos

Solicitudes de ejemplo

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateRuleAction
&RuleId=100000
&Type=REPUBLISH
&Configuration={"topic":"/a1POX0c****/device1/user/get","topicType":1}
&<Common request parameters>

Respuestas exitosas de ejemplo

Formato XML

<CreateRuleActionResponse>
      <RequestId>21D327AF-A7DE-4E59-B5D1-ACAC8C024555</RequestId>
      <ActionId>10003</ActionId>
      <Success>true</Success>
</CreateRuleActionResponse>

Formato JSON

{
    "RequestId": "21D327AF-A7DE-4E59-B5D1-ACAC8C024555",
    "ActionId": 10003,
    "Success": true
}

Códigos de error

Para obtener una lista de códigos de error, visite el Centro de errores de API.