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

6.Образ

1. Загрузить образ

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

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

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

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

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

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

Загрузить образ контейнера(асинхронная задача; после отправки запроса образ будет загружен в репозиторий образов; после успешной загрузки данные вернутся в списке образов; результат выполнения можно запросить по возвращенному traceId в интерфейсах задач)

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
imageUrl Адрес загрузки образа body true string
socType Модель вычислительной спецификации body true string Поддерживаются модели Orion865, Cruise10, Orion8G2
name Название образа body false string Название образа, если не указано, совпадает с сгенерированным imageId
tags Информация бизнес-Tags образа(версия системы, версия GS и т. д.) body false Map<String, String> Например: {"GsVersion":"V2.0.1","Firmware":"567"}
imageMd5 Информация MD5 образа body false string Используется для проверки загрузки образа, необязательно
syncNodeUuids Список узлов синхронизации образа body false List<String> если не передано, по умолчанию синхронизируются все узлы; пустой массив означает не синхронизировать
callbackUrl Адрес callback уведомления body false string POST-запрос

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

POST "/openapi/v1/image"
body:
{
    "imageUrl": "http://www.cheersucloud.com/images/qsandroid10_1.0.2.tar",
    "socType": "Orion865",
    "name": "Orion865-android10_1.0.1",
    "projectId":"project_admin",
    "syncNodeUuids": [
        "1ddf1365dac9137cf77d6d0142ff7251"
    ]
}

Параметры ответа:

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Результат object
  jobId ID задачи string
  syncNodeJobs Задача синхронизации образа list<object>
    jobId id задачи String
    command Операция String
    code Код возврата integer
    message Возвращаемое сообщение обработки String
    nodeUuid uuid узла String
timestamp Временная метка integer(int64)
traceId ID обработки запроса string ID запроса, этот traceId можно использовать для пакетного запроса результатов задач в рамках данного запроса

Пример ответа:

{
    "message": "成功",
    "code": 200,
    "timestamp": 1703655847574,
    "result": {
        "jobId": "4dab5a486599491ea98b702969d7044d",
        "syncNodeJobs":[
            {
                "jobId": "02c0182b3e3446ed8022e0cefa91e9db",
                "command": "distributeImage",
                "code": 200,
                "message": "SUCCESS",
                "nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251"
            }
        ]
    },
    "traceId": "C20231227134407574007"
}

2. Постраничный список образов

Адрес интерфейса: /v1/image/page/list

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

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

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

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

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

Запрос списка образов

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
type Тип запроса body false string По умолчанию ALL(одновременно запрашиваются публичные и приватные образы)、public(запрашиваются публичные образы)、private(запрашиваются приватные образы, необходимо указать projectId)
pageNum Номер текущей страницы body false integer По умолчанию 1
pageSize Количество данных на текущей странице body false integer По умолчанию 10

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

POST "/openapi/v1/image/page/list"
body:
{
    "type": "public"
}

Параметры ответа:

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных IPage<object>
  records Список данных текущей страницы list<object>
    uuid UUID образа string
imageId Идентификатор образа string Например: img-1749452445158
    name Название образа string
    digest Сводка образа string
    os Операционная система string Например: Android 10, Android 13
    type Тип образа string public — публичный образ,private — приватный образ
    status Статус integer 0:отключено 1:включено
    socType Модель вычислительной спецификации string
    size Размер образа long Единица измерения B
    sizeStr Преобразование емкости string Адаптировать поле size (единица B) к единицам M или G и взять целое число
    projectId ID проекта string
syncNodeUuids Список узлов синхронизации образа List<string>
    tags Информация бизнес-Tags образа(версия системы, версия GS и т. д.) Map<String,String>
    remark Примечание string
    createTime Время создания string
updateTime Время изменения string
  total Общее количество записей integer
  current Номер текущей страницы integer
  pages Общее количество страниц integer
  size Количество строк на странице integer
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

Пример ответа:

{
  "message": "操作成功!",
  "code": 200,
  "result": {
    "records": [
      {
        "imageId": "img-1755521097901",
        "os": "Android 10",
        "remark": "",
        "updateTime": "2025-08-18 20:46:20",
        "type": "private",
        "uuid": "a855bed61a5a49d5a21446d0295f3bc9",
        "sizeStr": "824.0 MB",
        "socType": "Orion865",
        "syncNodeUuids": [
          "6aa62c31370175ee1bbe20356c5bd083",
          "beb95a81559b894a92c9f1bb13c7aeba"
        ],
        "size": 864070140,
        "createTime": "2025-08-18 20:46:20",
        "name": "hf20280818",
        "digest": "sha256:225caa95edcb8f873f480fce47547fefea30062ee16427143ead83b8ff36c3ee",
        "projectId": "f93afddd503d1fc6ada3174160852180",
        "status": 1,
        "tags":{
            "key":"value"
        }
      }
    ],
    "total": 1,
    "current": 1,
    "pages": 1,
    "size": 10
  },
  "timestamp": 1703657528870,
  "traceId": "C20231227141208870307"
}

3. Удалить образ

Адрес интерфейса: /v1/image/delete

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

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

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

Поддерживаемая версия:v2.2.0

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

Удалить образ контейнера, параметр представляет собой пару ключ-значение uuid и name образа

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
{uuid} UUID образа body true string value — имя образа

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

POST "/openapi/v1/image/delete"
body:
{
    "388a49e7e4ee4d97930a1ab1724d0bcb": "caic-cr10q"
}

Параметры ответа:

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Результат object
timestamp Временная метка integer(int64)
traceId ID обработки запроса string ID запроса

Пример ответа:

{
    "message": "成功",
    "code": 200,
    "result": null,
    "timestamp": 1703655847574,
    "traceId": "C20231227134407574007"
}

4. Синхронизировать образ

Адрес интерфейса: /v1/image/distribute

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

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

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

Поддерживаемая версия:v2.6.0

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

Синхронизировать образ

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
uuid UUID образа body true string
syncNodeUuids uuid узла синхронизации body true List<String>

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

POST "/openapi/v1/image/distribute"
body:
{
    "syncNodeUuids": [
        "1ddf1365dac9137cf77d6d0142ff7251"
    ],
    "uuid": "bcfcef2741254267aa7f06174536cf87"
}

Параметры ответа:

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Результат list<object>
  jobId id задачи String
  command Операция String
  code Код возврата integer
  message Возвращаемое сообщение обработки String
  nodeUuid uuid узла String
timestamp Временная метка integer(int64)
traceId ID обработки запроса string ID запроса

Пример ответа:

{
    "message": "操作成功!",
    "code": 200,
    "result": [
        {
            "jobId": "02c0182b3e3446ed8022e0cefa91f9db",
            "command": "distributeImage",
            "code": 200,
            "message": "SUCCESS",
            "nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251"
        }
    ],
    "timestamp": 1755075261942,
    "traceId": "C20250813165421673016"
}