Skip to content

8.备份

1. 创建备份

接口地址:/v1/backup/add

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本: v1.17.0

接口描述:

批量创建备份

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
instanceUuids 容器 uuid body true list 单条或多条容器数据
callbackUrl 通知回调地址 body false string POST请求

请求示例:

POST "/openapi/v1/backup/add"
body:
{
    "instanceUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32)
message 返回处理消息 string
success 成功标志 boolean
result 返回数据对象 List
  jobId 任务ID string
  code 任务提交状态码 integer 对应响应状态码表
  message 任务提交描述 string
  uuid 容器uuid string
  command 指令 string
  nodeUuid 节点UUID string
timestamp 时间戳 integer(int64)
traceId 请求处理ID string

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
            "code": 200,
            "message": "success",
            "uuid": "348504568b904b7eb64264e488a2f79d",
            "command": "backupInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "1e3388fddf3e4c1496fa109986c05383",
            "code": 200,
            "message": "success",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "command": "backupInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691369821823,
    "traceId": "E75320230807085701790"
}

2. 备份列表

接口地址:/v1/backup/list

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本: v1.17.0

接口描述:

分页查询备份列表

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
projectId 项目Id body false string 默认当前用户的默认项目
nodeUuid 节点uuid body true string
instanceUuids 容器列表 body false list<object> 容器列表,根据容器查询备份
instanceName 容器名称 body false string 根据容器名称模糊查询
jobId 任务ID body false string 创建备份接口返回的任务ID
name 备份名称 body false string
pageNum 当前页码 body false integer 默认 1
pageSize 当前页面数据量 body false integer 默认 10

请求示例:

POST "/openapi/v1/backup/list"
body:
{
    "pageNum": 1,
    "pageSize": 10,
    "projectId": "project_admin",
    "name": "back-mi10",
    "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",  
    "instanceUuids": [
        "ae674f4546c74bf48c00c211334f214a"
    ],
    "instanceName": "mihayou"
}

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32)
message 返回处理消息 string
result 返回数据对象 IPage<object>
  records 当前页的数据列表 list<object>
    nodeUuid 节点 uuid string
    uuid 备份 uuid string
    name 备份名称 string false
    size 备份大小 string bytes
    imageId 备份镜像id string 备份来源容器镜像id
    instanceUuid 容器ID string 备份来源所属容器uuid
    instanceName 容器名称 string 备份来源容器名称
    jobId 任务ID string
    status 任务状态 integer 0: 备份中 1:备份成功; 2: 备份失败
    createTime 创建时间 string
  total 总记录数 integer
  current 当前页码 integer
  pages 总页数 integer
  size 每页显示条数 integer
timestamp 时间戳 integer(int64)
traceId 请求处理ID string

响应示例:

{
    "code":200,
    "message":"操作成功",
    "result":{
        "records":[
            {
                "nodeUuid":"a5b93c4e98224c84bb10957aa6175a92",
                "uuid":"befd6ef1400d491db459e5681c6891ad",
                "name":"xxx",
                "size":1534654694,
                "instanceUuid":"ae674f4546c74bf48c00c211334f214a",
                "instanceName": "mihayou",
                "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
                "status":  1,
                "imageId": "img-1743489439031",
                "projectId": "f93afddd503d1fc6ada3174160852180",
                "createTime":"2023-08-01 12:02:55"
            }
        ],
        "total":40,
        "current":1,
        "pages":4,
        "size":10
    },
    "timestamp":1691464377302,
    "traceId":"E07620230808111257302"
}

3. 恢复备份

接口地址:/v1/backup/recovery

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本: v1.17.0

接口描述:

单个或批量恢复备份

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
instanceBackups 容器恢复列表 body true list 包含需要恢复的容器与备份数据的列表。每个元素是一个对象,包含以下字段:
instanceUuid 容器uuid true string 容器的唯一标识符,长度为 32 位的字符串。
  backupUuid 备份uuid ture string 备份的唯一标识符,长度为 32 位的字符串。
callbackUrl 通知回调地址 body false string POST请求
statusStartType 容器启动类型 body false integer 0:启动(默认选项)1:保持原(启动/停止)状态

请求示例:

POST "/openapi/v1/backup/recovery"
body:
{
    "instanceBackups":[{
        "instanceUuid":"348504568b904b7eb64264e488a2f79d",
        "backupUuid":"ae674f4546c74bf48c00c211334f214a"
    }]
}

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32)
message 返回处理消息 string
success 成功标志 boolean
result 返回数据对象 List
  jobId 任务ID string
  code 任务提交状态码 integer 对应响应状态码表
  message 任务提交描述 string
  uuid 容器uuid string
  command 指令 string
  nodeUuid 节点UUID string
timestamp 时间戳 integer(int64)
traceId 请求处理ID string

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
            "code": 200,
            "message": "success",
            "uuid": "348504568b904b7eb64264e488a2f79d",
            "command": "restoreInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691369821823,
    "traceId": "E75320230807085701790"
}

4. 删除备份

接口地址: /v1/backup/remove

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本: v1.17.0

接口描述:

批量删除备份

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
nodeUuid 节点 uuid body true list
backupUuids 备份 uuid body true list 单条或多条容器数据

请求示例:

POST "/openapi/v1/backup/remove"
body:
{
    "backupUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32)
message 返回处理消息 string
result 返回数据对象 List
timestamp 时间戳 integer(int64)
traceId 请求处理ID string

响应示例:

{
    "message": "操作成功!",
    "code": 200,
    "result": null,
    "timestamp": 1718431861571,
    "traceId": "C20240615141101571003"
}

5. 分发备份

接口地址:/v1/backup/distribute

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本: v1.17.0

接口描述:

分发备份

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
backupUuids 备份 uuid body true list 单条或多条容器数据
nodeUuid 节点 uuid body true list 分发源节点
nodeUuids 节点 uuid列表 body true list 目标节点
callbackUrl 通知回调地址 body false string POST请求

请求示例:

POST "/openapi/v1/backup/distribute"
body:
{
    "backupUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"],
    "nodeUuid": "348504568b904b7eb64264e488a2f792",
    "nodeUuids":["348504568b904b7eb64264e488a2f791","ae674f4546c74bf48c00c211334f2141"]
}

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32)
message 返回处理消息 string
success 成功标志 boolean
result 返回数据对象 List
  jobId 任务ID string
  code 任务提交状态码 integer 对应响应状态码表
  message 任务提交描述 string
  uuid 备份uuid string
  nodeUuid 节点UUID string
timestamp 时间戳 integer(int64)
traceId 请求处理ID string

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
            "code": 200,
            "message": "success",
            "uuid": "348504568b904b7eb64264e488a2f79d",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "1e3388fddf3e4c1496fa109986c05383",
            "code": 200,
            "message": "success",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691369821823,
    "traceId": "E75320230807085701790"
}

6 导入实例备份

接口地址:/v1/backup/load

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本:v2.11.0

接口描述:

​ 从外部URL下载备份文件并导入到边缘节点

请求示例:

curl -X POST "http://192.168.50.26:1800/openapi/v1/backup/load" -H "accept: */*" -H "Content-Type: application/json"  -H "Authorization: bearer dc4748f5-929a-433f-aced-74ef65c7d436"  -d   '{"nodeUuid":"161d73a7470b797fec133df3b5bbf20b","projectId":"default","backups":[{"instanceUuid":"i-7b0d8170ad5855f280e3a0079f67465a","downloadUrl":"http://192.168.50.40/backup/xxx.tar"}]}'

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
nodeUuid 节点UUID body true string
projectId 项目ID body false string 不传则使用用户默认项目
backups 备份列表 body true array
  nodeUuid 节点UUID body false string
  projectId 项目ID body false string 不传则使用用户默认项目
  instanceUuid 实例UUID false string
instanceName 实例名称 false string
  downloadUrl 下载URL true string 备份文件下载地址
  uuid 备份UUID false string 不传自动生成
  imageId 镜像ID false string

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32) integer(int32)
message 返回处理消息 string
result 返回数据对象 List
  jobId 任务ID string
  uuid 备份UUID string
  code 任务提交状态码 integer 200为成功
  message 任务提交描述 string
  nodeUuid 节点UUID string
  projectId 项目ID string
traceId 请求处理ID string
timestamp 时间戳 integer(int64) integer(int64)

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "f07e77c4dcd04359b56730dbd7d1162e",
            "uuid": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "nodeUuid": "161d73a7470b797fec133df3b5bbf20b",
            "projectId": "default"
        }
    ],
    "timestamp": 1691369668713,
    "traceId": "E75020230807085428674"
}

7 导出实例备份

接口地址:/v1/backup/upload

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*,application/json

支持版本:v2.11.0

接口描述:

​ 将边缘节点备份导出到外部存储

请求示例:

curl -X POST "http://192.168.50.26:1800/openapi/v1/backup/upload" -H "accept: */*" -H "Content-Type: application/json"  -H "Authorization: bearer dc4748f5-929a-433f-aced-74ef65c7d436"  -d   '{"nodeUuid":"161d73a7470b797fec133df3b5bbf20b","projectId":"default","backups":[{"instanceUuid":"i-7b0d8170ad5855f280e3a0079f67465a","uuid":"b59b5f35f7d743d3ad740b8df05277bf"}]}'

请求参数:

参数名称 参数说明 位置 是否必须 数据类型 描述
nodeUuid 节点UUID body true string
projectId 项目ID body false string 不传则使用用户默认项目
backups 备份列表 body true array
  storageUrl 存储服务器地址 true string OSS服务器地址
storageName 存储桶名称 true string
  storagePath 存储路径 true string
  access 认证Access true string OSS认证access
  secret 认证Secret true string OSS认证secret
  pathStyle 路径样式 true boolean 默认true
  uuid 备份UUID true string

响应参数:

参数名称 参数说明 类型 描述
code 返回代码 integer(int32) integer(int32)
message 返回处理消息 string
result 返回数据对象 List
  jobId 任务ID string
  uuid 备份UUID string
  code 任务提交状态码 integer 200为成功
  message 任务提交描述 string
  nodeUuid 节点UUID string
  projectId 项目ID string
traceId 请求处理ID string
timestamp 时间戳 integer(int64) integer(int64)

响应示例:

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "f07e77c4dcd04359b56730dbd7d1162e",
            "uuid": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "nodeUuid": "161d73a7470b797fec133df3b5bbf20b",
            "projectId": "default"
        }
    ],
    "timestamp": 1691369668713,
    "traceId": "E75020230807085428674"
}