BuildImageJob
Функция BuildImageJob позволяет собрать кастомный образ в Docker registry региона. В рамках этого образа исполняются скрипты в конкретном регионе.
Команды
.start()
Команда для запуска новой задачи по сборке образа. Готовый образ будет доступен по ссылке из поля destination в ответе на запрос.
Параметр | Тип | Описание |
---|---|---|
requirements_path (обяз.) | string | Путь до файла с зависимостями |
from_image (обяз.) | string | Базовый образ, от которого будет происходить сборка. |
Пример запроса:
build_job = BuildImageJob()result = build_job.start(requirements_path="requirements.txt",from_image="dev.cr.rnd.sbercloud.dev/aicloud-base-images/py3.11-torch2.4.0:0.0.40")print(result.job_name)
Пример ответа:
BuildImageRun(job_name='image-build-job-ai0001011-0498322ccl', status='PENDING', created_at='2025-06-30T07:19:42Z', destination='cr.ai.cloud.ru/2ebb32e5-3ddb-4834-a770-3cefb8e618d5/job-custom-image-66ee55')
Во все остальные команды, кроме list, можно передавать параметр name="job".
.status()
Команда для мониторинга статуса задачи по сборке образа.
Пример запроса:
status = build_job.status()print(f"Active: {status.active}, Succeeded: {status.succeeded}, Failed: {status.failed}")
В результате отображается статус задачи.
Пример ответа:
JobStatus(job_name='image-build-job-ai0001011-04983nrh4f', active=1, succeeded=0, failed=0, conditions=[], pod_info=[PodItem(name='image-build-job-ai0001011-04983nrh4f-824np', ready='1/1', status='Running', restarts=0, age='31s')], scheduling_issue='')
.pods()
Команда проверки подов, связанных с задачей по сборке образа.
Пример запроса:
pods = build_job.pods()for pod in pods:print(f"Pod: {pod.name}, Status: {pod.status}")
В результате отображается информация о подах.
Пример ответа:
[PodItem(name='image-build-job-ai0001011-04983nrh4f-824np', ready='0/1', status='Running', restarts='0', age='4m8.575282162s')]
.logs()
Команда проверки логов из задачи по сборке образа.
Пример запроса:
build_job.logs()
В результате отображается информация по логам задачи.
Пример ответа:
INFO[0000] Retrieving image manifest cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40INFO[0000] Retrieving image cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40 from registry cr.ai.cloud.ruINFO[0000] Built cross stage deps: map[]INFO[0000] Retrieving image manifest cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40INFO[0000] Returning cached image manifestINFO[0000] Executing 0 build triggersINFO[0000] Building stage 'cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40' [idx: '0', base-idx: '-1']INFO[0000] Unpacking rootfs as cmd RUN pip install --user --no-cache-dir -r /context/requirements.txt requires it.
.list()
Команда получения списка всех задач по сборке образов с их основными характеристиками.
Пример запроса:
jobs = build_job.list()for job in jobs:print(f"Job: {job.name}, Completions: {job.completions}, Age: {job.age}")
В результате отображается список всех задач по сборке образов с их основными характеристиками.
Пример ответа:
[BuildImageJobItem(name='image-build-job-ai0001011-04983hswbl', completions='0/1', duration='35.308803982s', age='35.30880453s'),BuildImageJobItem(name='image-build-job-ai0001011-04983nrh4f', completions='0/1', duration='3.308805471s', age='3.308805646s')]
.kill()
Команда остановки задачи по сборке образа.
Пример:
result = build_job.kill()print(f"Kill operation successful: {result.success}")
В результате происходит остановка задачи.
Пример ответа:
BuildImageKill(success=True)
- Команды