调用该接口创建设备分发任务,默认同时分发设备所属产品。
使用说明
您可参考以下步骤,完成设备分发。
1. 调用本接口发起设备分发任务(异步调用),获取返回参数JobId。
2. 将上一步的返回参数JobId作为请求参数,重复调用接口QueryDeviceDistributeJob,查看返回参数Status。
Status值如下,表示分发任务已处于最终态:
- 2:设备分发任务正常执行完成。此时,不代表所有设备分发成功,每个设备的具体分发结果,请执行下一步获取。
- 3:分发异常中断。处理异常流后,可重新发起设备分发任务。
3. 将第一步的返回参数JobId作为请求参数,调用接口QueryDeviceDistributeDetail,获取返回参数File,即分发结果的文件URL。
4. 通过文件URL获取分发结果详情,其中每个设备对应一个分发结果Code,当Code为200时,表示该设备分发成功。
如果设备分发失败,您可按照以上操作,重新进行设备分发。
限制说明
- 调用云服务的接入地址Endpoint仅支持华东2(上海),即
iot.cn-shanghai.aliyuncs.com
。 - 不支持调用本接口创建跨账号的分发任务。
- 单个阿里云账号下,产品分发和设备分发的任务总数不超过10个。创建产品分发任务,请参见CreateProductDistributeJob。
-
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为2。说明 RAM用户共享阿里云账号配额。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateDeviceDistributeJob |
系统规定参数。取值:CreateDeviceDistributeJob。 |
DeviceName.N | RepeatList | 是 | RepeatList |
待分发的设备名称列表。最多包含10,000个设备名称。 |
ProductKey | String | 是 | a1BwAGV**** |
设备所属产品的ProductKey。 |
SourceInstanceId | String | 是 | iot-060*** |
设备所属的源实例ID。
|
Strategy | Integer | 是 | 0 |
分发策略。默认值为0。
|
TargetInstanceConfig.N.TargetInstanceId | String | 是 | iot-cn-6ja*** |
设备分发的目标实例配置。实例ID详情,请参见参数SourceInstanceId描述。
|
TargetUid | String | 否 | 198*** |
设备所属的阿里云账号ID。可登录物联网平台控制台,单击账号头像,跳转至安全设置页面查看。 TargetUid与TargetAliyunId参数至少传入一个。 |
TargetAliyunId | String | 否 | io****@example.com |
设备所属的阿里云账号。可登录物联网平台控制台,单击账号头像,跳转至安全设置页面查看。 TargetUid与TargetAliyunId参数至少传入一个。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | iot.system.SystemException |
调用失败时,返回的错误码。更多信息,请参见错误码。 |
ErrorMessage | String | 系统异常 |
调用失败时,返回的出错信息。 |
JobId | String | UbmsMHmkqv0PiAG****010001 |
调用成功后,返回的任务ID。任务的全局唯一标识符。 |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 |
阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true |
表示是否调用成功。
|
示例
请求示例
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateDeviceDistributeJob
&DeviceName.1=RepeatList
&ProductKey=a1BwAGV****
&SourceInstanceId=iot-060***
&Strategy=0
&TargetInstanceConfig.1.TargetInstanceId=iot-cn-6ja***
&TargetAliyunId=io****@example.com
&<公共请求参数>
正常返回示例
XML
格式
<CreateDeviceDistributeJobResponse>
<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<JobId>UbmsMHmkqv0PiAG****010001</JobId>
<Success>true</Success>
</CreateDeviceDistributeJobResponse>
JSON
格式
{
"RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
"JobId": "UbmsMHmkqv0PiAG****010001",
"Success": true
}