调用该接口创建设备分发任务,默认同时分发设备所属产品。

使用说明

您可参考以下步骤,完成设备分发。

1. 调用本接口发起设备分发任务(异步调用),获取返回参数JobId

2. 将上一步的返回参数JobId作为请求参数,重复调用接口QueryDeviceDistributeJob,查看返回参数Status

说明 您需根据接口的QPS限制,控制重复调用接口的频率。

Status值如下,表示分发任务已处于最终态:

  • 2:设备分发任务正常执行完成。此时,不代表所有设备分发成功,每个设备的具体分发结果,请执行下一步获取。
  • 3:分发异常中断。处理异常流后,可重新发起设备分发任务。

3. 将第一步的返回参数JobId作为请求参数,调用接口QueryDeviceDistributeDetail,获取返回参数File,即分发结果的文件URL。

说明 文件URL的有效期为10分钟。

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

待分发的设备名称列表。最多包含1000个设备名称。

ProductKey String a1BwAGV****

设备所属产品的ProductKey

SourceInstanceId String iot-060***

设备所属的源实例ID。

  • 各地域公共实例ID:
    • 华东2(上海):iotx-oxssharez200。
    • 日本:iotx-oxssharez300。
    • 新加坡:iotx-oxssharez400。
    • 美国(硅谷):iotx-oxssharez500。
    • 美国(弗吉尼亚):iotx-oxssharez600。
    • 德国(法兰克福):iotx-oxssharez700。
  • 企业版实例ID:

    1. 登录物联网平台控制台,从顶部导航栏左上方的下拉菜单选择地域。

    2. 在实例概览页面,单击实例名称,在实例详情页面的实例基本信息中查看实例ID

Strategy Integer 0

分发策略。默认值为0。

  • 0:指定地域,将设备分发到指定地域的一个实例中。
  • 1:就近接入,配置多个地域的实例ID,设备将根据设备的IP位置动态接入其中距离最近的地域。
TargetInstanceConfig.N.TargetInstanceId String iot-cn-6ja***

设备分发的目标实例配置。实例ID详情,请参见参数SourceInstanceId描述。

  • 当参数Strategy1时,此处可传入多个实例ID。
  • 当参数Strategy0时,此处传入一个实例ID。
TargetUid String 198***

设备所属的阿里云账号ID。可登录物联网平台控制台,单击账号头像,跳转至安全设置页面查看。

TargetUidTargetAliyunId参数至少传入一个。

TargetAliyunId String io****@example.com

设备所属的阿里云账号。可登录物联网平台控制台,单击账号头像,跳转至安全设置页面查看。

TargetUidTargetAliyunId参数至少传入一个。

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

返回数据

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

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

ErrorMessage String 系统异常

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

JobId String UbmsMHmkqv0PiAG****010001

调用成功后,返回的任务ID。任务的全局唯一标识符。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

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

Success Boolean true

表示是否调用成功。

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

示例

请求示例

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
}