下载
中文
注册

下载软件

命令功能

下发下载MEF Edge软件消息进行软件下载,配置第三方软件仓库地址和账号密码,通过第三方软件仓下载已准备好的待升级软件。

命令格式

操作类型:POST

https://{ip}:{port}/edgemanager/v1/software/edge/download

请求消息体:
{
    "serialNumbers": ["2102312NSF10K8000130"],
    "softwareName": "MEFEdge",
    "downloadInfo": {
        "package": "GET https://xxx.tar.gz",
        "signFile": "GET https://xxx.tar.gz.cms",
        "crlFile": "GET https://xxx.tar.gz.crl",
        "userName": "FileTransferAccount",
        "password": [xx,yy,zz,ww]
    }
}

请求参数

表1 参数说明

参数

是否必选

参数说明

取值要求

serialNumbers

必选

设备序列号

数组,支持小写字母、大写字母,数字,下划线和中划线。开头和结尾不能包含下划线和中划线,最大长度为64字节。数组长度为[1,2048]。

softwareName

必选

待下载的软件名

必须为“MEFEdge”

downloadInfo

必选

下载信息

软件仓的文件下载信息。请求的package、signFile和crlFile文件需保持版本配套。

package

必选

软件文件包

字符串,url最大长度为512字节,不能包含"\n!\\|;$<>@` "等特殊字符。其中协议必须为https,请求方式为GET。

说明:
  • 若包含域名,需要为合法的域名,格式符合正则模式^[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9]$,取值不能为全数字,且不能为localhost。
  • 若包含IP,需要为合法的IPv4地址,不能为回环地址(127.0.0.1)或本机IP。

signFile

必选

软件包签名文件

字符串,url最大长度为512字节,不能包含"\n!\\|;$<>@` "等特殊字符。其中协议必须为https,请求方式为GET。

说明:
  • 若包含域名,需要为合法的域名,格式符合正则模式^[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9]$,取值不能为全数字,且不能为localhost。
  • 若包含IP,需要为合法的IPv4地址,不能为回环地址(127.0.0.1)或本机IP。

crlFile

必选

软件包吊销文件

字符串,url最大长度512字节,不能包含"\n!\\|;$<>@` "等特殊字符。其中协议必须为https,请求方式为GET。

说明:
  • 若包含域名,需要为合法的域名,格式符合正则模式^[a-zA-Z0-9][a-zA-Z0-9.-]{1,61}[a-zA-Z0-9]$,取值不能为全数字,且不能为localhost。
  • 若包含IP,需要为合法的IPv4地址,不能为回环地址(127.0.0.1)或本机IP。

userName

必选

下载账号

字符串,长度为6~32;只能由小写字母、大写字母、数字组成。

password

必选

下载密码

byte数组,下发信息中必须包含下载密码。数组长度为[8,20]。

说明:
密码复杂度建议满足如下要求,若设置的密码不符合以下规则,可能存在安全风险。
  • 密码长度至少需要8个字符。
  • 密码必须包含如下至少两种字符的组合:
    • 至少一个小写字母。
    • 至少一个大写字母。
    • 至少一个数字。
    • 至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格。
  • 密码不能和账号一样。

使用样例

请求样例:

POST https://10.10.10.10:30035/edgemanager/v1/software/edge/download
请求体:
{
    "serialNumbers": ["xxxxxxxxx"],
    "softwareName": "MEFEdge",
     "downloadInfo": {
        "package": "GET https://xxx.tar.gz",
        "signFile": "GET https://xxx.tar.gz.cms",
        "crlFile": "GET https://xxx.tar.gz.crl",
        "userName": "FileTransferAccount",
        "password": [xx,yy,zz,ww]
    }
}
响应样例:
{
    "status": "00000000",
    "msg": "success",
    "data": {
        "failedInfos": {},
        "successIDs": [
            "xxxxxxxxx"
        ]
    }
}

响应状态码:200

输出说明

表2 操作输出说明

参数

类型

参数说明

status

字符串

错误码

msg

字符串

描述信息

data

对象

-

表3 data字段说明

参数

类型

参数说明

successIDs

字符串列表

成功的序列号列表

failedInfos

哈希表,key和value的类型都为字符串

key值为失败的序列号,value为此序列号失败原因