Перейти к содержимому

8.Резервная копия

1. Создать резервную копию

Адрес интерфейса:/v1/backup/add

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия: v1.17.0

Описание интерфейса:

Пакетное создание резервных копий

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
callbackUrl Адрес callback уведомления 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 Адрес callback уведомления 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 Адрес callback уведомления 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 и импортировать на edge-узел

Пример запроса:

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

Описание интерфейса:

​ Экспортировать резервную копию edge-узла во внешнее хранилище

Пример запроса:

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 authentication access
  secret Secret для аутентификации true string OSS authentication 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"
}