更新时间:2024-05-29 GMT+08:00

查询OTA升级包列表

功能介绍

用户可调用此接口查询关联OBS对象的升级包列表 使用前提:使用该API需要您授权设备接入服务(IoTDA)的实例访问对象存储服务(OBS)以及 密钥管理服务(KMS Administrator)的权限。在“统一身份认证服务(IAM) - 委托”中将委托名称为iotda_admin_trust的委托授权KMS Administrator和OBS OperateAccess

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /v5/iot/{project_id}/ota-upgrades/packages

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数说明:项目ID。获取方法请参见 获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

app_id

String

参数说明:资源空间ID。存在多资源空间的用户需要使用该接口时,建议携带该参数指定查询指定资源空间的升级包列表。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

package_type

String

参数说明:升级包类型。 取值范围:软件包必须设置为:softwarePackage,固件包必须设置为:firmwarePackage。

product_id

String

参数说明:设备关联的产品ID,用于唯一标识一个产品模型,创建产品后获得。方法请参见 创建产品取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

version

String

参数说明:升级包版本号。 取值范围:长度不超过256,只允许字母、数字、下划线(_)、连接符(-)、英文点(.)的组合。

limit

Integer

参数说明:分页查询时每页显示的记录数。 取值范围:1-50的整数,默认值为10。

最小值:1

最大值:50

缺省值:10

marker

String

参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。

缺省值:ffffffffffffffffffffffff

offset

Integer

参数说明:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 取值范围:0-500的整数,默认为0。

最小值:0

最大值:500

缺省值:0

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

Instance-Id

String

参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

packages

Array of OtaPackageInfo objects

升级包列表

page

PageInfo object

查询批量分页结构体,定义了分页页码、每页记录数、记录总数、该页记录的最大Id。

表5 OtaPackageInfo

参数

参数类型

描述

package_id

String

参数说明:升级包ID,用于唯一标识一个升级包。由物联网平台分配获得。 取值范围:长度不超过36,只允许字母、数字、连接符(-)的组合。

app_id

String

参数说明:资源空间ID。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

package_type

String

参数说明:升级包类型。 取值范围:软件包必须设置为:softwarePackage,固件包必须设置为:firmwarePackage。

product_id

String

参数说明:设备关联的产品ID,用于唯一标识一个产品模型,创建产品后获得。方法请参见 创建产品取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

version

String

参数说明:升级包版本号。 取值范围:长度不超过256,只允许字母、数字、下划线(_)、连接符(-)、英文点(.)的组合。

support_source_versions

Array of strings

参数说明:支持用于升级此版本包的设备源版本号列表。最多支持20个源版本号。 取值范围:源版本号列表,源版本号只允许字母、数字、下划线(_)、连接符(-)、英文点(.)的组合。

description

String

参数说明:用于描述升级包的功能等信息。 取值范围:长度不超过1024。

custom_info

String

参数说明:推送给设备的自定义信息。添加该升级包完成,并创建升级任务后,物联网平台向设备下发升级通知时,会下发该自定义信息给设备。 取值范围:长度不超过4096。

create_time

String

软固件包上传到物联网平台的时间,格式:"yyyyMMdd'T'HHmmss'Z'"。

表6 PageInfo

参数

参数类型

描述

count

Long

满足查询条件的记录总数。

marker

String

本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。

请求示例

列表查询OTA升级包。

GET https://{endpoint}/v5/iot/{project_id}/ota-upgrades/packages

响应示例

状态码: 200

OK

{
  "packages" : [ {
    "package_id" : "28f61af50fc9452aa0ed5ea25c3cc3d3",
    "app_id" : "61f7e74d036aca5be29e1ed4",
    "package_type" : "firmwarePackage",
    "product_id" : "5ba24f5ebbe8f56f5a14f605",
    "version" : "V2.0",
    "support_source_versions" : [ "V1.0", "V1.1" ],
    "description" : "package for version V1.0 and V1.1",
    "custom_info" : "更新了XX功能,修复了XXXX问题",
    "create_time" : "20230211T121212Z"
  } ],
  "page" : {
    "count" : 10,
    "marker" : "5c90fa7d3c4e4405e8525079"
  }
}

状态码

状态码

描述

200

OK

400

BAD REQUEST

401

Unauthorized

403

FORBIDDEN

500

Internal Server Error

错误码

请参见错误码