V2.1 Search Firmware File¶
按条件查询一个 OU 下的固件信息。
如果你在使用 API 批量更新相关固件信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。
该 API 支持在 EnOS 2.2.0 及以上环境中使用。
操作权限¶
使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号。
需授权的服务 |
所需操作权限 |
---|---|
固件 |
Read |
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/ota-firmwares?action=search
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
expression |
可选 |
String |
查询表达式,支持类 SQL 的查询。查询的字段和对应的运算符清单如下。
|
pagination |
可选 |
Pagination 请求结构体 |
分页参数。如未指定,默认每页 10 条。每页最大记录数为 200 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 |
响应参数¶
备注
对于旧版固件文件,返回产品信息。对于新版固件文件,不返回产品信息。
名称 |
数据类型 |
描述 |
---|---|---|
data |
FirmwareInfo 结构体数组 |
固件的详情,其结构体参见 FirmwareInfo 结构体。 |
FirmwareInfo 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
orgId |
String |
资产所属的组织ID。 |
firmwareId |
String |
固件ID。 |
productKey |
String |
设备的Product key。 |
name |
StringI18n |
固件名称。 |
version |
String |
固件版本号。 |
desc |
String |
固件描述。 |
signMethod |
String |
固件文件签名算法。 |
sign |
String |
固件文件签名。 |
fileUrl |
String |
固件文件标识符。 |
fileSize |
String |
固件文件大小。 |
enableVerification |
Boolean |
固件用于升级任务时是否必须验证过。 |
isVerified |
Boolean |
固件是否经过验证。 |
createTime |
Long |
固件创建时间。 |
firmwareTags |
Map(Key 和 Value 为 string) |
固件的标签。 |
maxAllowedForVerification |
Integer |
用来验证固件的最大设备数量。 |
minSuccessForVerified |
Integer |
为通过固件验证任务,成功验证设备的最小数量。 |
错误码¶
有关错误码的描述,参见 通用错误码。
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/ota-firmwares?action=search&orgId=yourOrgId
method: POST
requestBody:
{
"expression":"productKey='yourProductKey'",
"pagination":{
"pageNo":1,
"pageSize":5
}
}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"dc5d94aa-b021-4631-9def-2404d02d30a5",
"data":[
{
"orgId":"o15475466766371",
"firmwareId":"5ede13577072bf001f23de83",
"productKey":"BXwU4kMk",
"name":{
"defaultValue":"ota_subdevice",
"i18nValue":{
}
},
"version":"2.6",
"desc":null,
"signMethod":"md5",
"sign":"fileSig1",
"fileUrl":"enos-connect://file1.zip",
"fileSize":1767,
"isVerified":false,
"enableVerification":false,
"createTime":1591612247588,
"firmwareTags": {
"tagKey":"tagValue"
},
"maxAllowedForVerification":5,
"minSuccessForVerified":2
},
{
"orgId":"o15475466766371",
"firmwareId":"5ed49964a19bac001bcdb84e",
"productKey":"BXwU4kMk",
"name":{
"defaultValue":"validateTest",
"i18nValue":{
}
},
"version":"validate2.0",
"desc":null,
"signMethod":"md5",
"sign":"fileSig2",
"fileUrl":"enos-connect://file2.zip",
"fileSize":1767,
"isVerified":true,
"enableVerification":false,
"createTime":1590991204702,
"firmwareTags": {
"tagKey":"tagValue"
},
"maxAllowedForVerification":5,
"minSuccessForVerified":3
},
{
"orgId":"o15475466766371",
"firmwareId":"5ed0ddb7646542001b3d1144",
"productKey":"BXwU4kMk",
"name":{
"defaultValue":"validatetest",
"i18nValue":{
}
},
"version":"3.0",
"desc":null,
"signMethod":"md5",
"sign":"fileSig3",
"fileUrl":"enos-connect://file3.zip",
"fileSize":1767,
"isVerified":true,
"enableVerification":false,
"createTime":1590746551873,
"firmwareTags": {
"tagKey":"tagValue"
},
"maxAllowedForVerification":2,
"minSuccessForVerified":2
},
{
"orgId":"o15475466766371",
"firmwareId":"5ed0dd4a646542001b3d113f",
"productKey":"BXwU4kMk",
"name":{
"defaultValue":"HC_TEST",
"i18nValue":{
}
},
"version":"2.0",
"desc":null,
"signMethod":"md5",
"sign":"fileSig4",
"fileUrl":"enos-connect://file4.zip",
"fileSize":1767,
"isVerified":false,
"enableVerification":false,
"createTime":1590746442378,
"firmwareTags": {
"tagKey":"tagValue"
},
"maxAllowedForVerification":6,
"minSuccessForVerified":3
}
],
"pagination":{
"sortedBy":null,
"pageNo":1,
"pageSize":5,
"totalSize":4
}
}
SDK 示例¶
你可以在 Github 上获取接入服务的 SDK 示例: