CreateRuleAction_物联网平台_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

使用说明

  • 服务地域不同,所支持的目标云产品有所不同。规则引擎支持的地域及目标云产品,请参见地域与可用区
  • 一个规则下面最多可创建 10 个规则动作。
  • 您可以通过调用该 API 创建规则动作,定义将数据转发至物联网平台其他 Topic、AMQP 消费组和其他阿里云产品(DataHub、消息队列 RocketMQ、消息服务、函数计算和表格存储)。 如果您想将数据转发至实例内的时序数据存储、时序数据库(TSDB)和云数据库 RDS 版,请在物联网平台控制台进行操作。

QPS 限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为 50。

说明 RAM 用户共享该阿里云账号配额。

流控信息

请求速率为50/1(s)。更多流控信息,请前往配额中心查看

授权信息

当前云产品暂无权限信息透出。

请求参数

字段名称字段详情
IotInstanceIdstring

实例 ID。您可在物联网平台控制台的实例概览页面,查看当前实例的 ID展开详情

示例值:iot-cn-0pp1n8t****
RuleIdinteger<int64>

要为其创建动作的规则 ID。可在物联网平台控制台对应实例下规则引擎>云产品流转页查看规则 ID,或调用 ListRule 从返回结果中查看。

注意 该字段类型为 Long,在序列化/反序列化的过程中可能导致精度丢失,请注意数值不得大于 9007199254740991。
示例值:100000参考取值来源:
    CreateRule
    GetRuleAction
Typestring

规则动作类型,取值:展开详情

示例值:REPUBLISH
Configurationstring

该规则动作的配置信息,传入格式为 JSON String。不同规则动作类型所需内容不同,具体要求和示例见下文请求参数补充说明。

示例值:{"topic":"/a1POX0c****/device1/user/get","topicType":1}
ErrorActionFlagboolean

该规则动作是否为转发错误操作数据的转发动作,即转发流转到其他云产品失败且重试失败的数据。 可选值:展开详情

示例值:false

请求说明

REPUBLISH 类型 Configuration 定义

名称描述
topic转发的目标 Topic(物模型通信 Topic 或自定义 Topic)。支持将数据转发至数据下行的物模型通信 Topic:
/sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set
/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}
变量**${tsl.service.identifier}**的内容由该产品物模型中的服务决定。
topicTypeTopic 的类型。
0:表示数据下行的物模型通信 Topic。
1:表示自定义 Topic。

REPUBLISH 类型 Configuration 示例:

sys 类型:{"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}
自定义类型:{"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}

DATAHUB 类型 Configuration 定义

名称描述
projectName目标 DataHub 中用来接收信息的具体 Project。
topicName目标 DataHub 中用来接收信息的具体 Topic。
regionName目标 DataHub 所在的阿里云地域代码,例如 cn-shanghai。
role授权角色信息。通过授予 IoT 指定的系统服务角色,您可以授权物联网平台访问您的 DataHub。授权角色信息格式:
{"roleArn":"acs:ram::6541\*\**:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}
请将6541\*\**替换成您的阿里云账号 ID。您可以登录控制台,在账号安全设置页面查看您的账号 ID。
AliyunIOTAccessingDataHubRole是访问控制中定义的服务角色。用于授予物联网平台访问 DataHub。关于角色的更多信息,请在访问控制 RAM 控制台的角色管理页面进行角色管理。
schemaVals目标 DataHub 中的 Schema 列表,详情参见下表 schemaVals。

schemaVals

名称描述
name列名。
value列值。
type列类型。
BIGINT:大整数型。
DOUBLE:双精度浮点型。
BOOLEAN:布尔型。
TIMESTAMP:时间戳型。
STRING:字符串型。
DECIMAL:小数型。

DATAHUB 类型 Configuration 示例:

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

OTS 类型 Configuration 定义

名称描述
instanceName表格存储中用来接收信息的实例名称。
tableName表格存储中用来接收信息的数据表名称。
regionName目标实例所在的阿里云地域代码,例如 cn-shanghai。
role授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的表格存储。授权角色信息:
{"roleArn":"acs:ram::6541*\**:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}
请将6541*\**替换成您的阿里云账号 ID。您可以登录控制台,在账号安全设置页面查看您的账号 ID。
AliyunIOTAccessingOTSRole是访问控制中定义的服务角色。用于授予物联网平台访问表格存储。关于角色的更多信息,请在访问控制 RAM 控制台的角色管理页面进行角色管理。
primaryKeys目标表中的主键列表。详情参见下表 PrimaryKeys。

PrimaryKeys

名称描述
columnType主键类型。
INTEGER:整型。
STRING:字符串。
BINARY:二进制。
columnName主键名称。
columnValue主键值。
option主键是否为自增列,取值 AUTO_INCREMENT 或为空。当主键类型为 INTEGER,且该字段为 AUTO_INCREMENT 时,主键为自增列。

OTS 类型 Configuration 示例:

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

MNS 类型 Configuration 定义

名称描述
themeName消息服务中用来接收信息的目标主题名称。
regionName目标消息服务所在的阿里云地域代码,例如 cn-shanghai。
role授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息服务。授权角色信息:
{"roleArn":"acs:ram::6541*\**:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}
请将6541*\**替换成您的阿里云账号 ID。您可以登录控制台,在账号安全设置页面查看您的账号 ID。
AliyunIOTAccessingMNSRole是访问控制中定义的服务角色。用于授予物联网平台访问消息服务。关于角色的更多信息,请在访问控制 RAM 控制台的角色管理页面进行角色管理。

MNS 类型​Configuration​​示例:

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

FC 类型 Configuration 定义

名称描述
functionName函数服务中用来接收信息的目标函数名称。
serviceName函数服务中用来接收信息的目标服务名称。
regionName目标函数服务实例所在阿里云地域的代码,如 cn-shanghai。
role授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的函数计算服务。授权角色信息:
{"roleArn":"acs:ram::6541*\**:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}
请将6541*\**替换成您的阿里云账号 ID。您可以登录控制台,在账号安全设置页面查看您的账号 ID。
AliyunIOTAccessingFCRole是访问控制中定义的服务角色。用于授予物联网平台访问函数计算。关于角色的更多信息,请在访问控制 RAM 控制台的角色管理页面进行角色管理。

FC 类型 Configuration 示例:

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

ONS 类型 Configuration 定义

说明 您需通过调用消息队列 RocketMQ 的 SDK,或在消息队列 RocketMQ 控制台,授权物联网平台访问消息队列 RocketMQ(至少要授予物联网平台发布权限),然后才能够成功创建将 Topic 数据转发至消息队列 RocketMQ 的规则动作。
名称描述
instanceIdRocketMQ 中用来接收消息的目标 Topic 所属的实例 ID。
topicRocketMQ 中用来接收信息的目标 Topic。
regionName目标 RocketMQ 实例所在的阿里云地域代码,例如 cn-shanghai。
> 公网和同区流转,使用普通版 RocketMQ 实例即可;如果您需要跨区流转,则 RocketMQ 实例必需是铂金版实例。
tag(可选)设置标签。长度限制为 128 字节。
role授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息队列 RocketMQ 服务。授权角色信息:
{"roleArn":"acs:ram::6541*\**:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}
请将6541*\**替换成您的阿里云账号 ID。您可以登录控制台,在账号安全设置页面查看您的账号 ID。
AliyunIOTAccessingONSRole是访问控制中定义的服务角色。用于授予物联网平台访问消息队列 RocketMQ。关于角色的更多信息,请在访问控制 RAM 控制台的角色管理页面进行角色管理。

ONS 类型 Configuration 示例:

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

AMQP 类型 Configuration 定义

名称描述
groupId消费组 ID。

AMQP 类型 Configuration 示例:

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

调用 API 时,除了本文介绍的该 API 的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回参数

字段名称字段详情
Codestring

调用失败时,返回的错误码。更多信息,请参见错误码

示例值:iot.system.SystemException
ActionIdinteger<int64>

调用成功时,规则引擎为该规则动作生成的规则动作 ID,作为其标识符。展开详情

注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
示例值:10003
ErrorMessagestring

调用失败时,返回的出错信息。

示例值:系统异常
RequestIdstring

阿里云为该请求生成的唯一标识符。

示例值:21D327AF-A7DE-4E59-B5D1-ACAC8C024555
Successboolean

是否调用成功。展开详情

示例值:true

返回示例

变更历史

暂无变更历史

相关示例

资源管理平台/规则引擎/云产品流转(旧版)/规则动作RuleAction的增删改查功能。
2022-02-16