Todos os produtos
Search
Central de documentação

IoT Platform:CreateRuleAction

Última atualização: Jun 26, 2026

Cria uma ação de regra para uma regra especificada, encaminhando dados processados de um tópico para outro tópico ou para um serviço compatível da Alibaba Cloud.

Limites

  • Os serviços de destino da Alibaba Cloud compatíveis com o mecanismo de regras variam conforme a região. Para obter mais informações sobre as regiões e os serviços de nuvem de destino suportados pelo mecanismo de regras, consulte Regiões e zonas.

  • É possível criar no máximo 10 ações de regra para cada regra.

  • Chame esta operação de API para definir ações de regra que encaminhem dados para um tópico da IoT Platform, um grupo de consumidores AMQP ou um serviço da Alibaba Cloud. Os serviços compatíveis incluem Message Service (MNS), Function Compute e Tablestore. Se precisar encaminhar dados para o ApsaraDB RDS, utilize o console da IoT Platform.

  • Cada conta da Alibaba Cloud pode executar no máximo 50 consultas por segundo (QPS).

    Nota

    Usuários RAM de uma conta da Alibaba Cloud compartilham a cota dessa conta.

Depuração

A Alibaba Cloud oferece o OpenAPI Explorer para simplificar o uso de APIs. O OpenAPI Explorer calcula automaticamente o valor da assinatura. Para sua conveniência, recomendamos chamar esta operação no OpenAPI Explorer. Ele também gera dinamicamente exemplos de código da operação para diferentes SDKs.

Parâmetros da solicitação

ParâmetroTipoObrigatórioExemploDescrição
ActionStringSimCreateRuleAction

A operação que você deseja executar. Defina o valor como CreateRuleAction.

ConfigurationStringSimnull

As configurações da ação de regra. Especifique uma string JSON. As configurações variam conforme o tipo da ação de regra. Para obter mais informações sobre a sintaxe necessária e exemplos, consulte as tabelas a seguir.

RuleIdLongSim100000

O ID da regra para a qual você deseja criar uma ação. Faça login no console da IoT Platform, e escolha Rules > Data Forwarding para visualizar o ID da regra. Também é possível chamar a operação ListRule e verificar o ID da regra na resposta.

TypeStringSimREPUBLISH

O tipo da ação de regra. Valores válidos:

  • REPUBLISH: encaminha dados de tópicos processados pelo mecanismo de regras para outro tópico da IoT Platform.
  • AMQP: encaminha dados para um grupo de consumidores AMQP.

  • MNS: encaminha dados processados pelo mecanismo de regras para o Message Service (MNS).
  • FC: encaminha dados de tópicos processados pelo mecanismo de regras para o Function Compute, destinado à computação de eventos.
  • OTS: encaminha dados processados pelo mecanismo de regras para o OTS, utilizado para armazenamento de dados NoSQL.
Nota Se você definir o parâmetro DataType como BINARY, as regras serão criadas no formato binário. Essas regras não podem ser usadas para encaminhar dados ao Tablestore.
IotInstanceIdStringNãoiot-cn-0pp1n8t****

O ID da instância. Visualize o ID da instância na página Overview do console da IoT Platform.

Importante
  • Se sua instância possuir um ID, configure este parâmetro obrigatoriamente. Caso contrário, a chamada falhará.
  • Se sua instância não tiver uma página Overview ou ID, não é necessário definir este parâmetro.

Para mais detalhes, consulte Visão geral.

ErrorActionFlagBooleanNãofalse

Define se a ação de regra encaminha dados de operações com erro. Esses dados são gerados quando o mecanismo de regras falha ao encaminhar dados do tópico da IoT Platform para o serviço de nuvem de destino. Uma falha no encaminhamento indica que as tentativas de reenvio também falharam. Valores válidos:

  • true: encaminha dados de operações com erro.
  • false: encaminha dados normais em vez de dados de operações com erro.

Valor padrão: false.

Configurações do tipo REPUBLISH

Parâmetro

Descrição

topic

O tópico de destino. Especifique um tópico de comunicação TSL (Thing Specification Language) ou um tópico personalizado. É possível encaminhar dados para os seguintes tópicos de comunicação TSL downstream:

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

Substitua a variável ${tsl.service.identifier} por um identificador de serviço definido no modelo TSL.

topicType

O tipo do tópico. Valores válidos:

0: tópico de comunicação TSL downstream.

1: tópico personalizado.

Exemplos


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}
            

Configurações do tipo DATAHUB

Parâmetro

Descrição

projectName

Nome do projeto DataHub usado para receber dados.

topicName

Nome do tópico DataHub usado para receber dados.

regionName

Código da região onde o DataHub está implantado. Exemplo: cn-shanghai.

role

Informações sobre a função RAM. Conceda acesso da IoT Platform ao DataHub atribuindo uma função de serviço à IoT Platform. Sintaxe da função RAM:

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

Substitua 6541*** pelo seu ID da Alibaba Cloud. Acesse o Console de Gerenciamento da Alibaba Cloud e visualize o ID da conta na página Security Settings.

AliyunIOTAccessingDataHubRole indica uma função vinculada a serviço definida no RAM. Essa função concede acesso da IoT Platform ao DataHub. Gerencie as funções RAM na página RAM Roles do console RAM.

schemaVals

Schema do DataHub. Para mais informações, consulte a tabela SchemaVals a seguir.

schemaVals

Parâmetro

Descrição

name

Nome da coluna.

value

Valor da coluna.

type

Tipo de dados da coluna. Valores válidos:

BIGINT: inteiro grande

DOUBLE: ponto flutuante de precisão dupla

BOOLEAN: booleano.

TIMESTAMP: carimbo de data/hora.

STRING: string.

DECIMAL: decimal.

Exemplo


{
    "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"
}
            

Configurações do tipo OTS

Parâmetro

Descrição

instanceName

Nome da instância do Tablestore usada para receber dados.

tableName

Nome da tabela usada para receber dados.

regionName

Código da região onde o Tablestore está implantado. Exemplo: cn-shanghai.

role

Informações sobre a função RAM. Conceda acesso da IoT Platform ao Tablestore atribuindo uma função de serviço à IoT Platform. Sintaxe da função RAM:

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

Substitua 6541*** pelo seu ID da Alibaba Cloud. Acesse o Console de Gerenciamento da Alibaba Cloud e visualize o ID da conta na página Security Settings.

AliyunIOTAccessingOTSRole indica uma função vinculada a serviço definida no RAM. Essa função concede acesso da IoT Platform ao Tablestore. Gerencie as funções RAM na página RAM Roles do console RAM.

primaryKeys

Lista de chaves primárias na tabela de destino. Para mais informações, consulte a tabela PrimaryKeys a seguir.

PrimaryKeys

Parâmetro

Descrição

columnType

Tipo de dados da chave primária. Valores válidos:

INTEGER: inteiro

STRING: string

BINARY: binário

columnName

Nome da chave primária.

columnValue

Valor da chave primária.

option

Define se a chave primária é uma coluna de incremento automático. Defina o parâmetro como AUTO_INCREMENT ou deixe-o vazio. A chave primária será uma coluna de incremento automático se os parâmetros columnType e option estiverem definidos como INTEGER e AUTO_INCREMENT, respectivamente.

Exemplo


{
    "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"
    }
}
            

Configurações do tipo MNS

Parâmetro

Descrição

themeName

Nome do tópico MNS usado para receber dados.

regionName

Código da região onde o MNS está implantado. Exemplo: cn-shanghai.

role

Informações sobre a função RAM. Para conceder acesso da IoT Platform ao MNS, atribua uma função de serviço à IoT Platform. Sintaxe da função RAM:

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

Substitua 6541*** pelo seu ID da Alibaba Cloud. Acesse o Console de Gerenciamento da Alibaba Cloud e visualize o ID da conta na página Security Settings.

AliyunIOTAccessingMNSRole indica uma função vinculada a serviço definida no RAM. Essa função concede acesso da IoT Platform ao MNS. Gerencie as funções RAM na página RAM Roles do console RAM.

Exemplo


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

Configurações do tipo FC

Parâmetro

Descrição

functionName

Nome da função usada para receber dados.

serviceName

Nome do serviço usado para receber dados.

regionName

Código da região onde o Function Compute está implantado. Exemplo: cn-shanghai.

role

Informações sobre a função RAM. Conceda acesso da IoT Platform ao Function Compute atribuindo uma função de serviço à IoT Platform. Sintaxe da função RAM:

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

Substitua 6541*** pelo seu ID da Alibaba Cloud. Acesse o Console de Gerenciamento da Alibaba Cloud e visualize o ID da conta na página Security Settings.

AliyunIOTAccessingFCRole indica uma função vinculada a serviço definida no RAM. Essa função concede acesso da IoT Platform ao Function Compute. Gerencie as funções RAM na página RAM Roles do console RAM.

Exemplo


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

Configurações do tipo ONS

Nota

Chame o SDK ou use o console do Message Queue for Apache RocketMQ para conceder acesso da IoT Platform ao serviço. A IoT Platform precisa de autorização para publicar mensagens no Message Queue for Apache RocketMQ. Somente então crie uma ação de regra para encaminhar dados ao serviço.

Parâmetro

Descrição

instanceId

ID da instância do Message Queue for Apache RocketMQ usada para receber dados.

topic

Nome do tópico do Message Queue for Apache RocketMQ usado para receber dados.

regionName

Código da região onde o Message Queue for Apache RocketMQ está implantado. Exemplo: cn-shanghai.

Para encaminhar dados pela Internet na mesma zona, utilize uma instância comum do Message Queue for Apache RocketMQ. Para encaminhar dados entre zonas diferentes, use uma instância do Message Queue for Apache RocketMQ Platinum Edition.

tag

Opcional. A tag. O tamanho da tag não pode exceder 128 bytes.

role

Informações sobre a função RAM. Conceda acesso da IoT Platform ao Message Queue for Apache RocketMQ atribuindo uma função de serviço à IoT Platform. Sintaxe da função RAM:

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

Substitua 6541*** pelo seu ID da Alibaba Cloud. Acesse o Console de Gerenciamento da Alibaba Cloud e visualize o ID da conta na página Security Settings.

AliyunIOTAccessingONSRole indica uma função vinculada a serviço definida no RAM. Essa função concede acesso da IoT Platform ao Message Queue for Apache RocketMQ. Gerencie as funções RAM na página RAM Roles do console RAM.

Exemplo


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

Configurações do tipo AMQP

Parâmetro

Descrição

groupId

O ID do grupo de consumidores.

Exemplo


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

Além dos parâmetros de solicitação específicos da operação mencionados acima, especifique os parâmetros de solicitação comuns ao chamar esta operação. Para mais informações, consulte Parâmetros de solicitação comuns.

Parâmetros de resposta

ParâmetroTipoExemploDescrição
ActionIdLong10003

O ID da ação. O mecanismo de regras gera o ID da ação se a chamada for bem-sucedida.

Nota Guarde essa informação para referência futura. Ao chamar uma operação relacionada à ação de regra, forneça o ID da ação.
CodeStringiot.system.SystemException

O código de erro retornado se a chamada falhar. Para mais informações, consulte Códigos de erro.

ErrorMessageStringA system exception occurred.

A mensagem de erro retornada se a chamada falhar.

RequestIdString21D327AF-A7DE-4E59-B5D1-ACAC8C024555

O ID da solicitação.

SuccessBooleantrue

Indica se a chamada foi bem-sucedida.

  • true: A chamada foi bem-sucedida.
  • false: A chamada falhou.

Exemplos

Exemplos de solicitações

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

Exemplos de respostas de sucesso

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 erro

Para obter uma lista de códigos de erro, visite o Centro de Erros de API.