V2.1 Get Firmware File¶
获取指定固件版本号的固件详情。
如果你在使用 API 批量更新相关固件相关信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。
该 API 支持在 EnOS 2.2.0 及以上环境中使用。
操作权限¶
使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号。
需授权的服务 |
所需操作权限 |
---|---|
固件 |
Read |
请求格式¶
GET https://{apigw-address}/connect-service/v2.1/ota-firmwares?action=get
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。 如何获取orgId信息>> |
firmwareId |
Query |
必需 |
String |
需要获取详情的目标固件的ID。前往 OTA 升级 > 固件管理 中 固件ID 列查看固件版本号。 |
响应参数¶
备注
对于旧版固件文件,返回产品信息。对于新版固件文件,不返回产品信息。
名称 |
数据类型 |
描述 |
---|---|---|
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 |
为通过固件验证任务,成功验证设备的最小数量。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
24404 |
Firmware not found |
找不到固件。 |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/ota-firmwares?action=get&orgId=yourOrgId&firmwareId=yourFirmwareId
method: GET
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"28da9093-400f-4eb1-8cdc-83e4ec77070d",
"data":{
"orgId":"yourOrgId",
"firmwareId":"yourFirmwareId",
"productKey":"BXwU4kMk",
"name":{
"defaultValue":"HC_TEST",
"i18nValue":{
}
},
"version":"2.0",
"desc":null,
"signMethod":"md5",
"sign":"fileSig",
"fileUrl":"enos-connect://file.zip",
"fileSize":1767,
"isVerified":false,
"enableVerification":false,
"createTime":1590746442378,
"firmwareTags": {
"tagKey":"tagValue"
},
"maxAllowedForVerification":5,
"minSuccessForVerified":2
}
}
SDK 示例¶
你可以在 Github 上获取接入服务的 SDK 示例: