下载容器

1. 请求消息

1.1 Topic

Topic
/v1/devices/{DeviceSn}/virtualization/command

消息发送方

物联网平台

消息接收方

网关设备

1.2 payload

数据域
数据类型
是否必选
描述

mid

stirng

消息ID,推荐使用uuid, 请求和应答匹配,用来匹配请求和应答消息和去重

msgTime

string

消息发送时间戳,RFC3339标准,例如:1985-04-12T23:20:50.52Z

zone

string

设备部署的区域,例如ZONE3

node

string

设备部署的节点,例如440000

requestId

string

微服务链路追踪用的标识

deviceSn

string

设备ESN码,用于唯一标识设备

deviceId

string

统一物联网平台分配的设备id,据说可能会重复,不能唯一标识设备

service

string

服务名称。这里固定为:virtualization

cmd

string

具体操作方法,这里固定为:actionContainerDownload

params

object

[可选]对象内容

params结构体说明

字段名
必选/可选
类型
参数描述

fileId

必选

String

文件唯一id,后边容器部署安装的时候,需要跟这个id关联

fileName

必选

string

文件名称。

fileType

必选

String

可选值:tar、img,、ova

size

必选

number

文件大小,单位:bytes

digestAlgorithm

必选

string

校验和的计算方式:

md5、sha1、sha256

digest

必选

string

校验和的值。

fileLink

必选

string

文件下载路径,取值为https。

请求示例

{
    "mid":      "aaa-bbb-xxxx",
    "service":  "virtualization",
    "cmd":      "actionContainerDownload",
    "zone":      "设备部署区域",
    "node":      "设备部署节点",
    "deviceSn":   "D23pigXo",
    "deviceId": "A1234456",
    "requestId":  "xxxxxxxxxx",
    "msgTime":  "1985-04-12T23:20:50.52Z",
    "params": {
         "fileName":      "nginx",
         "fileLink":       "https://xxx:xx/file/download",
         "fileId":         "xxxxxxxxx",
         "size":             123456,
         "accessToken":  "xxxxxxxx",
         "digestAlgorithm": "sha256",
         "digest":          "xxxxxxxxxxxx",
         "fileType":         "img"
    }
}

2. 应答消息

2.1 Topic

Topic
/v1/devices/virtualization/response

消息发送方

网关设备

消息接收方

物联网平台

2.2 应答消息payload

数据域
数据类型
是否必选
描述

mid

string

消息ID,用于消息去重。

replyId

string

表示响应的是哪条请求指令,为该指令的mid,用来匹配请求和应答

msgTime

string

消息发送时间戳,采用RFC3339标准,例如:1985-04-12T23:20:50.52Z。

zone

string

设备部署的区域,例如ZONE3

node

string

设备部署的节点,例如440000

requestId

string

微服务链路追踪用的标识

deviceSn

string

设备ESN码,用于唯一标识设备

deviceId

string

统一物联网平台分配的设备id,据说可能会重复,不能唯一标识设备

code

uint16

标识应答的返回码

批处理请求时,如果所有处理都成功,返回200

如果有部分失败,返回400。

取值如下:

•100:指令接收成功,等待执行完成。

•200:请求成功。

•400:请求消息错误,例如消息格式错误等。

•404:不支持该操作。

•429:请求太多。

•500:服务端内部错误,由应用定义。

body

object

(可选)对象内容。

body结构体说明

字段名
必选/可选
类型
参数描述

fileId

必选

String

文件唯一id,后边容器部署安装的时候,需要跟这个id关联

应答示例

收到消息后马上对消息进行应答,此时code值取100

 {
    "mid": "54132",
    "replyId": "54132",
    "code": 100,
    "body": {
        "fileId": "123"
    },
    "zone":"设备部署的区域",
    "node":"设备部署的节点",
    "deviceSn": "D23pigXo",
    "deviceId": "A1234456",
    "requestId":"xxxxxxxxxx",
    "msgTime": "1985-04-12T23:20:50.52Z "
}

下载完成后再对该指令进行一次应答,此时code取值为200

 {
    "mid": "54132",
    "replyId": "54132",
    "code": 200,
    "body": {
        "fileId": "123"
    },
    "zone":"设备部署的区域",
    "node":"设备部署的节点",
    "deviceSn": "D23pigXo",
    "deviceId": "A1234456",
    "requestId":"xxxxxxxxxx",
    "msgTime": "1985-04-12T23:20:50.52Z "
}

其他错误码说明

531 容器文件下载失败;
532 容器文件校验失败;

最后更新于