GenerateDeviceNameListURL_物联网平台_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.

接口说明

设备列表文件要求

  • 设备列表文件包含设备 DeviceName,以换行分隔,每行一个 DeviceName。支持 CSV 格式,文件大小不能超过 5 MB。

  • 单个设备列表文件最多可包含升级包对应产品下的 10,000 个设备,否则使用该文件创建静态升级批次时将报错。

使用说明

该接口与其他接口结合使用完成设备列表文件上传。上传设备列表文件的步骤:

  1. 调用本接口生成设备列表文件上传到对象存储(OSS)的信息。 本接口的返回参数包含: 调用 OSS PostObject 上传设备列表文件的请求参数:KeyAccessKeyIdSignaturePolicy

  2. 请在本接口返回结果后的 1 分钟之内,使用OSS SDK调用 PostObject 接口上传设备列表文件。上传文件的代码示例,请参见下文返回参数的用途章节。

    说明 本接口返回的参数信息有效期为 1 分钟,请在 1 分钟内上传设备列表文件。
  3. 设备列表上传完成后,请在 60 分钟内,调用物联网平台 API CreateOTAStaticUpgradeJob 创建静态升级批次。 如果上传了设备列表,但未调用 CreateOTAStaticUpgradeJob 创建静态升级批次,上传的文件将被系统定期自动清理。

QPS 限制

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

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

流控信息

当前云产品API请求速率暂未透出。

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
iot:GenerateDeviceNameListURL
Create
全部资源
*

请求参数

字段名称字段详情
IotInstanceIdstring

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

示例值:iot-cn-0pp1n8t****

请求说明

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

返回参数

字段名称字段详情
Codestring

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

示例值:iot.system.SystemException
ErrorMessagestring

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

示例值:系统异常
RequestIdstring

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

示例值:74C2BB8D-1D6F-41F5-AE68-6B2310883F63
Successboolean

是否调用成功。展开详情

示例值:true
Dataobject

调用成功时,返回的文件上传信息。详情见以下参数信息。

返回说明

返回参数的用途

调用 OSS PostObject 接口时,使用本接口的返回参数值作为请求参数值,将您编辑好的文件上传到对象存储(OSS)。

以下是向对象存储 OSS 上传文件的 Java 代码示例:

  • 在 pom.xml 中添加以下依赖:
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.3</version>
</dependency>

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpmime</artifactId>
  <version>4.5.10</version>
</dependency>
  • 上传文件的代码如下:
                                  String host,
                                  String policy,
                                  String ossAccessKeyId,
                                  String signature,
                                  String data) throws IOException {
  CloseableHttpClient httpClient = HttpClients.createDefault();
  HttpPost uploadFile = new HttpPost(host);

  MultipartEntityBuilder builder = MultipartEntityBuilder.create();
  builder.addTextBody("key", key, ContentType.TEXT_PLAIN);
  builder.addTextBody("policy", policy, ContentType.TEXT_PLAIN);
  builder.addTextBody("ossAccessKeyId", ossAccessKeyId, ContentType.TEXT_PLAIN);
  builder.addTextBody("signature", signature, ContentType.TEXT_PLAIN);
  builder.addTextBody("success_action_status", "200", ContentType.TEXT_PLAIN);
  builder.addBinaryBody("file", data.getBytes());

  HttpEntity multipart = builder.build();
  uploadFile.setEntity(multipart);
  CloseableHttpResponse response = httpClient.execute(uploadFile);

  if (response.getStatusLine().getStatusCode() == 200) {
    return true;
  }

  return false;
}

返回示例

变更历史

暂无变更历史