全部產品
Search
文件中心

IoT Platform:CreateDestination

更新時間:Feb 17, 2025

調用該介面建立資料來源流轉的資料目的。

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資料發送至阿里雲Message Service中,進行訊息傳輸。
  • FC:將解析器指令碼處理後的Topic資料發送至阿里雲Function Compute服務,進行事件計算。
  • OTS:將解析器指令碼處理後的Topic資料發送至阿里雲Table Store(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

Table Store中用來接收資訊的執行個體名稱。

regionName

目標執行個體所在的阿里雲地區代碼,例如cn-shanghai。

tableName

Table Store中用來接收資訊的資料表名稱。

role

授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Table Store。授權角色資訊:

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

${uid}為您的阿里雲帳號ID。您可以登入控制台,在帳號安全設定頁面查看您的帳號ID。

AliyunIOTAccessingOTSRole是存取控制中定義的服務角色。用於授予物聯網平台訪問Table Store。關於角色的更多資訊,請在存取控制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

Message Service中用來接收資訊的目標主題名稱。

regionName

目標Message Service所在的阿里雲地區代碼,例如cn-shanghai。

role

授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Message Service。授權角色資訊:

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

${uid}為您的阿里雲帳號ID。您可以登入控制台,在帳號安全設定頁面查看您的帳號ID。

AliyunIOTAccessingMNSRole是存取控制中定義的服務角色。用於授予物聯網平台訪問Message Service。關於角色的更多資訊,請在存取控制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

授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Function Compute服務。授權角色資訊:

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

${uid}為您的阿里雲帳號ID。您可以登入控制台,在帳號安全設定頁面查看您的帳號ID。

AliyunIOTAccessingFCRole是存取控制中定義的服務角色。用於授予物聯網平台訪問Function Compute。關於角色的更多資訊,請在存取控制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
}

錯誤碼

HttpCode 錯誤碼 錯誤資訊 描述
400 iot.system.SystemException An internal error occurred. Try again later. 系統異常。
400 iot.system.IllegalRequest The request parameter is invalid. 非法的請求參數。
400 iot.ruleng.NullRuleActionConfig The rule action configuration is empty. 規則動作的配置為空白。
400 iot.ruleng.NullRuleActionType The specified rule action is invalid or the rule action type is unspecified. 規則動作類型(參數Type)不可為空。

訪問錯誤中心查看更多錯誤碼。