调用该接口创建数据源流转的数据目的。

QPS限制

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

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

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateDestination

系统规定参数。取值:CreateDestination。

Name String DataPurpose

数据目的名称。

Type String REPUBLISH

数据目的操作类型,可取值:

  • REPUBLISH:将解析器脚本处理后的Topic数据转发至物联网平台的另一个通信Topic。
  • AMQP:将解析器脚本处理后的Topic数据流转到AMQP消费组。
  • DATAHUB:将解析器脚本处理后的Topic数据转发至阿里云DataHub,进行流式数据处理。
  • ONS:将解析器脚本处理后的Topic数据转发至阿里云消息队列RocketMQ,进行消息分发。
  • MNS:将解析器脚本处理后的Topic数据发送至阿里云消息服务中,进行消息传输。
  • FC:将解析器脚本处理后的Topic数据发送至阿里云函数计算服务,进行事件计算。
  • OTS:将解析器脚本处理后的Topic数据发送至阿里云表格存储(Tablestore),进行NoSQL数据存储。
Configuration String {"topic":"/a1POX0c****/device1/user/get","topicType":1}

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

IotInstanceId String iot-2w****

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

注意
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无实例概览页面或ID值,则无需传入。

实例的更多信息,请参见实例概述

Description String 数据流转至数据库。

数据目的描述信息。

REPUBLISH类型Configuration定义

名称

描述

productKey

转发至另一个Topic所属产品的ProductKey。

REPUBLISH类型Configuration示例:


{
    "productKey":"hf****3xn"
}
AMQP类型Configuration定义

名称

描述

groupId

消费组ID。

AMQP类型Configuration示例:


{
    "groupId":"ZTh1JmuZcUfv44p4z00****"
}
OTS类型Configuration定义

名称

描述

instanceName

表格存储中用来接收信息的实例名称。

regionName

目标实例所在的阿里云地域代码,例如cn-shanghai。

tableName

表格存储中用来接收信息的数据表名称。

role

授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的表格存储。授权角色信息:

{"roleName":"AliyunIOTAccessingOTSRole","roleArn":"acs:ram::${uid}:role/aliyuniotaccessingotsrole"}

${uid}为您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingOTSRole是访问控制中定义的服务角色。用于授予物联网平台访问表格存储。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

OTS类型Configuration示例:


{
    "instanceName":"${instanceName}",
    "regionName":"cn-shanghai",
    "tableName":"test_table",
    "role":{
        "roleName":"AliyunIOTAccessingOTSRole",
        "roleArn":"acs:ram::${uid}:role/aliyuniotaccessingotsrole"
    }
}
DATAHUB类型Configuration定义

名称

描述

projectName

目标DataHub中用来接收信息的具体Project。

topicName

目标DataHub中用来接收信息的具体Topic。

regionName

目标DataHub所在的阿里云地域代码,例如cn-shanghai。

role

授权角色信息。通过授予IoT指定的系统服务角色,您可以授权物联网平台访问您的DataHub。授权角色信息格式:

{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}

${uid}为您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingDataHubRole是访问控制中定义的服务角色。用于授予物联网平台访问DataHub。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

DATAHUB类型Configuration示例:


{
    "role":{
        "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingdatahubrole",
        "roleName": "AliyunIOTAccessingDataHubRole"
    },
    "ProjectName": "test_project_name",
    "RegionName": "cn-shanghai",
    "TopicName": "test_topic"
}
MNS类型Configuration定义

名称

描述

themeName

消息服务中用来接收信息的目标主题名称。

regionName

目标消息服务所在的阿里云地域代码,例如cn-shanghai。

role

授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息服务。授权角色信息:

{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

${uid}为您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingMNSRole是访问控制中定义的服务角色。用于授予物联网平台访问消息服务。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

MNS类型​Configuration​​示例:


{
    "themeName": "test_name",
    "role":{
        "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    },
    "regionName": "cn-shanghai"
}
ONS类型Configuration定义
说明 您需通过调用消息队列RocketMQ的SDK,或在消息队列RocketMQ控制台,授权物联网平台访问消息队列RocketMQ(至少要授予物联网平台发布权限),然后才能够成功创建将Topic数据转发至消息队列RocketMQ的规则动作。

名称

描述

instanceId

RocketMQ中用来接收消息的目标Topic所属的实例ID。

topic

RocketMQ中用来接收信息的目标Topic。

regionName

目标RocketMQ实例所在的阿里云地域代码,例如cn-shanghai。

目前仅支持同地域内数据流转。

role

授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息队列RocketMQ服务。授权角色信息:

{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingmqrole","roleName": "AliyunIOTAccessingMQRole"}

${uid}为您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingMQRole是访问控制中定义的服务角色。用于授予物联网平台访问消息队列RocketMQ。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

ONS类型Configuration示例:


{
    "instanceId": "${MQ_INST_ID}",
    "role":
    {
        "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingmqrole",
        "roleName": "AliyunIOTAccessingMQRole"
    },
    "regionName": "cn-shanghai",
    "topic": "test_topic"
}
FC类型Configuration定义

名称

描述

functionName

函数服务中用来接收信息的目标函数名称。

serviceName

函数服务中用来接收信息的目标服务名称。

regionName

目标函数服务实例所在阿里云地域的代码,如cn-shanghai。

role

授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的函数计算服务。授权角色信息:

{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}

${uid}为您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingFCRole是访问控制中定义的服务角色。用于授予物联网平台访问函数计算。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

FC类型Configuration示例:


{
    "role":
    {
        "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingfcrole",
        "roleName": "AliyunIOTAccessingFCRole"
    },
    "functionName": "${function_name}",
    "serviceName": "${service_name}",
    "regionName": "cn-shanghai"
}

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

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

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

Destination Struct

创建成功后,返回的数据目的信息。

Configuration String {"topic":"/a1POX0c****/device1/user/get","topicType":1}

数据目的对应的配置信息。

DestinationId Long 1003

数据目的ID。

IsFailover Boolean false

该数据目的配置是否为转发错误操作数据,即转发流转到其他云产品失败且重试失败的数据。

  • true:是转发错误操作数据。
  • false:不是转发错误操作数据,而是正常转发操作。

默认值为false

Name String DataPurpose

数据目的名称。

Type String REPUBLISH

数据目的操作类型。

UtcCreated String 2022-03-27T12:45:43.000Z

创建数据目的对应的UTC时间。格式为yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

ErrorMessage String 系统异常

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

RequestId String E4C0FF92-2A86-41DB-92D3-73B60310D25E

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

Success Boolean true

表示是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateDestination
&Configuration={"topic":"/a1POX0c****/device1/user/get","topicType":1}
&Name=DataPurpose
&Type=REPUBLISH
&<公共请求参数>

正常返回示例

XML格式

<CreateDestinationResponse>
  <Destination>
        <Type>REPUBLISH</Type>
        <UtcCreated>2022-03-27T12:45:43.000Z</UtcCreated>
        <Configuration>{"topic":"/a1POX0c****/device1/user/get","topicType":1}</Configuration>
        <IsFailover>false</IsFailover>
        <DestinationId>1003</DestinationId>
        <Name>DataPurpose</Name>
  </Destination>
  <RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
  <Success>true</Success>
</CreateDestinationResponse>

JSON格式

{
    "Destination": {
        "Type": "REPUBLISH",
        "UtcCreated": "2022-03-27T12:45:43.000Z",
        "Configuration": "{\"topic\":\"/a1POX0c****/device1/user/get\",\"topicType\":1}",
        "IsFailover": false,
        "DestinationId": 1003,
        "Name": "DataPurpose"
    },
    "RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E",
    "Success": true
}