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"
}