Поделиться через


Tasks - Create Task

Создаёт задачу для указанной задачи.
Максимальный срок службы задачи от добавления до завершения составляет 180 дней. Если задача не завершилась в течение 180 дней после добавления, она будет прекращена пакетным сервисом и оставлена в том состоянии, в котором находилась на тот момент.

POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string (uri)

Конечная точка учетной записи пакетной службы (например, https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

ID задачи, для которой должна быть создана задача.

api-version
query True

string

minLength: 1

Версия API, используемая для данной операции.

timeOut
query

integer (int32)

Максимальное время, которое сервер может тратить на обработку запроса в секундах. Значение по умолчанию — 30 секунд. Если значение превышает 30, вместо этого используется стандартное значение.".

Заголовок запроса

Media Types: "application/json; odata=minimalmetadata"

Имя Обязательно Тип Описание
client-request-id

string

Удостоверение запроса, созданное вызывающим пользователем, в виде GUID без украшений, таких как фигурные скобки, например 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Должен ли сервер возвращать идентификатор client-request-id в ответе.

ocp-date

string (date-time-rfc7231)

Время выдачи запроса. Клиентские библиотеки обычно задают это в текущее время системных часов; задайте его явным образом, если вы вызываете REST API напрямую.

Текст запроса

Media Types: "application/json; odata=minimalmetadata"

Имя Обязательно Тип Описание
commandLine True

string

Командная строка задачи. Для многоэкземплярных задач командная строка выполняется как основная задача, после того как основная задача и все подзадачи завершили выполнение командной строки координации. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Строка, которая уникально идентифицирует задачу внутри задания. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и символы подчеркивания, и не может содержать более 64 символов. ID сохраняет регистр и не зависит от регистра (то есть, у вас может не быть двух ID внутри вакансии, которые различаются только в зависимости от случая).

affinityInfo

BatchAffinityInfo

Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи.

applicationPackageReferences

BatchApplicationPackageReference[]

Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется.

authenticationTokenSettings

AuthenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство установлено, пакетный сервис предоставляет задаче токен аутентификации, который можно использовать для аутентификации операций пакетного сервиса без необходимости ключа доступа к аккаунту. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с использованием токена, зависят от настроек. Например, задача может запрашивать разрешения на выполнение заданий, чтобы добавить другие задачи в работу, или проверять статус работы или других задач под этой задачей.

constraints

BatchTaskConstraints

Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней.

containerSettings

BatchTaskContainerSettings

Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня Azure Batch каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на хост-диске, что означает, что API пакетных файлов не смогут получить доступ к этим файлам.

dependsOn

BatchTaskDependencies

Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано. Если у задания не установлено true, а этот элемент присутствует, запрос не выполняется с кодом ошибки TaskDependenciesNotSpecifiedOnJob.

displayName

string

Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.

environmentSettings

EnvironmentSetting[]

Список настроек переменных среды для задачи.

exitConditions

ExitConditions

Как должна реагировать пакетная служба после завершения задачи.

multiInstanceSettings

MultiInstanceSettings

Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу.

outputFiles

OutputFile[]

Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача.

requiredSlots

integer (int32)

Количество слотов для расписания, необходимых для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1.

resourceFiles

ResourceFile[]

Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.

userIdentity

UserIdentity

Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи.

Ответы

Имя Тип Описание
201 Created

Запрос успешно выполнен, и в результате был создан новый ресурс.

Заголовки

  • DataServiceId: string
  • ETag: string
  • Last-Modified: string
  • client-request-id: string
  • request-id: string
Other Status Codes

BatchError

Непредвиденное сообщение об ошибке.

Безопасность

OAuth2Auth

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Области

Имя Описание
https://batch.core.windows.net//.default

Примеры

Creates a basic task
Creates a task with container settings
Creates a task with container settings with data isolation
Creates a task with container settings with duplicate source
Creates a task with exit conditions
Creates a task with extra slot requirement

Creates a basic task

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

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

Creates a task with container settings

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

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

Creates a task with container settings with data isolation

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

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

Creates a task with container settings with duplicate source

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

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

Creates a task with exit conditions

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

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

Creates a task with extra slot requirement

Образец запроса

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

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

Определения

Имя Описание
AuthenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы.

AutoUserScope

AutoUserScope enums

AutoUserSpecification

Указывает параметры автоматического пользователя, выполняющего задачу пакетной службы Azure.

BatchAccessScope

BatchAccessScope enums

BatchAffinityInfo

Указание локальности, которое может использоваться пакетной службой для выбора вычислительного узла, на котором нужно запустить задачу.

BatchApplicationPackageReference

Ссылка на пакет для развертывания на вычислительных узлах.

BatchError

Ответ об ошибке, полученный из пакетной службы Azure.

BatchErrorDetail

Элемент дополнительных сведений, включенных в ответ на ошибку пакетной службы Azure.

BatchErrorMessage

Сообщение об ошибке, полученное в ответе на ошибку пакетной службы Azure.

BatchJobActionKind

Энумы BatchJobAction

BatchNodeIdentityReference

Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.

BatchTaskConstraints

Ограничения выполнения для применения к задаче.

BatchTaskContainerSettings

Параметры контейнера для задачи.

BatchTaskCreateOptions

Параметры для создания задачи пакетной службы Azure.

BatchTaskDependencies

Указывает все зависимости задачи. Все задачи, явно указанные или находящиеся в диапазоне зависимостей, должны быть завершены перед планированием зависимой задачи.

BatchTaskIdRange

Начало и конец диапазона включены. Например, если диапазон начинается 9 и конец 12, он представляет задачи "9", "10", "11" и "12".

ContainerHostBatchBindMountEntry

Вход пути и режима подключения, который требуется подключить к контейнеру задач.

ContainerHostDataPath

Пути, которые будут подключены к контейнеру задачи контейнера.

ContainerRegistryReference

Частный реестр контейнеров.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

DependencyAction

Enums DependencyAction

ElevationLevel

Enums ElevationLevel

EnvironmentSetting

Переменная среды, устанавливаемая в процессе задачи.

ExitCodeMapping

Как служба пакетной службы должна реагировать, если задача завершает работу с определенным кодом выхода.

ExitCodeRangeMapping

Диапазон кодов выхода и способ реагирования пакетной службы на коды выхода в этом диапазоне.

ExitConditions

Указывает, как служба пакетной службы должна реагировать при завершении задачи.

ExitOptions

Указывает, как служба пакетной службы реагирует на определенное условие выхода.

MultiInstanceSettings

Задачи с несколькими экземплярами обычно используются для поддержки задач MPI. В случае MPI в случае сбоя любой из вложенных задач (например, из-за выхода с кодом выхода без нуля) вся задача с несколькими экземплярами завершается ошибкой. Затем задача с несколькими экземплярами завершается и извлекается до ограничения повторных попыток.

OutputFile

При каждой отправке файлов пакетная служба записывает два файла журнала на вычислительный узелfileuploadout.txtиfileuploaderr.txt. Эти файлы журналов используются для получения дополнительных сведений о конкретном сбое.

OutputFileBlobContainerDestination

Указывает назначение отправки файлов в контейнере хранилища BLOB-объектов Azure.

OutputFileDestination

Назначение, в которое должен быть отправлен файл.

OutputFileUploadCondition

Enums OutputFileUploadCondition

OutputFileUploadConfig

Параметры операции отправки выходных файлов, в том числе при условии выполнения отправки.

OutputFileUploadHeader

Пара "Имя-значение" заголовка HTTP

ResourceFile

Один файл или несколько файлов, которые нужно скачать на вычислительный узел.

UserIdentity

Определение удостоверения пользователя, в котором выполняется задача. Укажите свойство userName или autoUser, но не оба.

AuthenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы.

Имя Тип Описание
access

BatchAccessScope[]

Пакетные ресурсы, к которым токен предоставляет доступ. Токен аутентификации предоставляет доступ к ограниченному набору операций пакетного сервиса. В настоящее время единственным поддерживаемым значением свойства доступа является 'job', которое предоставляет доступ ко всем операциям, связанным с задачей, содержащей задачу.

AutoUserScope

AutoUserScope enums

Значение Описание
task

Указывает, что сервис должен создать нового пользователя для задачи.

pool

Указывает, что задача выполняется как общий автопользовательский аккаунт, который создаётся на каждом вычислительном узле пула.

AutoUserSpecification

Указывает параметры автоматического пользователя, выполняющего задачу пакетной службы Azure.

Имя Тип Описание
elevationLevel

ElevationLevel

Уровень повышения прав автоматического пользователя. Значение по умолчанию — nonAdmin.

scope

AutoUserScope

Область для автоматического пользователя. Значение по умолчанию — пул. Если пул работает под управлением Windows, необходимо указать значение задачи, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что это может повлиять на другие задачи.

BatchAccessScope

BatchAccessScope enums

Значение Описание
job

Предоставляет доступ для выполнения всех операций на Задании, содержащем Задачу.

BatchAffinityInfo

Указание локальности, которое может использоваться пакетной службой для выбора вычислительного узла, на котором нужно запустить задачу.

Имя Тип Описание
affinityId

string

Непрозрачная строка, обозначающая расположение вычислительного узла или задачи, выполнявшейся ранее. Вы можете передать affinityId узла, чтобы указать, что задача должна выполняться на этом вычислительном узле. Обратите внимание, что это просто мягкое сходство. Если целевой вычислительный узел занят или недоступен во время планирования задачи, задача будет запланирована в другом месте.

BatchApplicationPackageReference

Ссылка на пакет для развертывания на вычислительных узлах.

Имя Тип Описание
applicationId

string

ID приложения для развертывания. При создании пула идентификатор приложения пакета должен быть полным (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Версия приложения для развертывания. Если опущено, будет развернута версия по умолчанию. Если это опущено в пуле, и для этого приложения не указана стандартная версия, запрос не выполняется с кодом ошибки InvalidApplicationPackageReferences и HTTP-кодом статуса 409. Если это опущено в задаче, и для этого приложения не указана стандартная версия, задача проваливается с ошибкой предварительной обработки.

BatchError

Ответ об ошибке, полученный из пакетной службы Azure.

Имя Тип Описание
code

string

Идентификатор ошибки. Коды являются инвариантными и предназначены для программного использования.

message

BatchErrorMessage

Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе.

values

BatchErrorDetail[]

Коллекция пар "ключ-значение", содержащая дополнительные сведения об ошибке.

BatchErrorDetail

Элемент дополнительных сведений, включенных в ответ на ошибку пакетной службы Azure.

Имя Тип Описание
key

string

Идентификатор, указывающий значение свойства Value.

value

string

Дополнительные сведения, включенные в ответ на ошибку.

BatchErrorMessage

Сообщение об ошибке, полученное в ответе на ошибку пакетной службы Azure.

Имя Тип Описание
lang

string

Языковой код сообщения об ошибке.

value

string

Текст сообщения.

BatchJobActionKind

Энумы BatchJobAction

Значение Описание
none

Не предпринимать никаких действий.

disable

Отключите работу. Это эквивалентно вызову API disable Job со значением requeue disableTasks.

terminate

Уволить работу. TerminationReason в ExecutionInfo задания устанавливается как «TaskFailed».

BatchNodeIdentityReference

Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.

Имя Тип Описание
resourceId

string (arm-id)

Идентификатор ресурса ARM назначенного пользователем удостоверения.

BatchTaskConstraints

Ограничения выполнения для применения к задаче.

Имя Тип Описание
maxTaskRetryCount

integer (int32)

Максимальное количество повторных попыток задачи. Пакетная служба повторяет задачу, если его код выхода не является ненулевой. Обратите внимание, что это значение конкретно определяет количество повторных попыток для исполняемого файла задачи из-за ненулевого выходного кода. Пакетная служба попытается выполнить задачу один раз, а затем повторите попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакет пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторные попытки). Если максимальное количество повторных попыток равно 0, пакетная служба не повторяет задачу после первой попытки. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничения, однако это не рекомендуется для начальной задачи или любой задачи. Значение по умолчанию равно 0 (без повторных попыток).

maxWallClockTime

string (duration)

Максимальное прошедшее время выполнения задачи, измеряемое с момента её запуска. Если задача не завершается в отведённое время, пакетная служба завершает её. Если это не указано, нет ограничения по времени, как долго выполняется Задача.

retentionTime

string (duration)

Минимальное время для сохранения каталога задачи на вычислительном узле, где он выполнялся, начинается с момента завершения выполнения. После этого времени пакетная служба может удалить каталог задач и всё её содержимое. По умолчанию — 7 дней, то есть каталог задач сохраняется в течение 7 дней, если только вычислительный узел не будет удален или задание не будет удалено.

BatchTaskContainerSettings

Параметры контейнера для задачи.

Имя Тип Описание
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Пути, которые необходимо подключить к задаче контейнера. Если этот массив имеет значение NULL или отсутствует, задача контейнера будет подключать весь временный диск диска в окнах (или AZ_BATCH_NODE_ROOT_DIR в Linux). Он не будет подключать пути к данным в контейнер, если этот массив задан как пустой.

containerRunOptions

string

Дополнительные параметры команды создания контейнера. Эти дополнительные параметры предоставляются в качестве аргументов в команду docker create, а также те, которые управляются пакетной службой.

imageName

string

Изображение для создания контейнера, в котором будет выполняться задача. Это полная ссылка на изображение, как было бы указано в «docker pull». Если в названии изображения нет тега, по умолчанию используется тег «:latest».

registry

ContainerRegistryReference

Частный реестр, содержащий контейнер Image. Эта настройка может быть опущена, если она уже была предоставлена при создании пула.

workingDirectory

ContainerWorkingDirectory

Расположение рабочего каталога задач контейнера. Значение по умолчанию — taskWorkingDirectory.

BatchTaskCreateOptions

Параметры для создания задачи пакетной службы Azure.

Имя Тип Описание
affinityInfo

BatchAffinityInfo

Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи.

applicationPackageReferences

BatchApplicationPackageReference[]

Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется.

authenticationTokenSettings

AuthenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство установлено, пакетный сервис предоставляет задаче токен аутентификации, который можно использовать для аутентификации операций пакетного сервиса без необходимости ключа доступа к аккаунту. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с использованием токена, зависят от настроек. Например, задача может запрашивать разрешения на выполнение заданий, чтобы добавить другие задачи в работу, или проверять статус работы или других задач под этой задачей.

commandLine

string

Командная строка задачи. Для многоэкземплярных задач командная строка выполняется как основная задача, после того как основная задача и все подзадачи завершили выполнение командной строки координации. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней.

containerSettings

BatchTaskContainerSettings

Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня Azure Batch каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на хост-диске, что означает, что API пакетных файлов не смогут получить доступ к этим файлам.

dependsOn

BatchTaskDependencies

Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано. Если у задания не установлено true, а этот элемент присутствует, запрос не выполняется с кодом ошибки TaskDependenciesNotSpecifiedOnJob.

displayName

string

Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.

environmentSettings

EnvironmentSetting[]

Список настроек переменных среды для задачи.

exitConditions

ExitConditions

Как должна реагировать пакетная служба после завершения задачи.

id

string

Строка, которая уникально идентифицирует задачу внутри задания. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и символы подчеркивания, и не может содержать более 64 символов. ID сохраняет регистр и не зависит от регистра (то есть, у вас может не быть двух ID внутри вакансии, которые различаются только в зависимости от случая).

multiInstanceSettings

MultiInstanceSettings

Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу.

outputFiles

OutputFile[]

Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача.

requiredSlots

integer (int32)

Количество слотов для расписания, необходимых для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1.

resourceFiles

ResourceFile[]

Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.

userIdentity

UserIdentity

Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи.

BatchTaskDependencies

Указывает все зависимости задачи. Все задачи, явно указанные или находящиеся в диапазоне зависимостей, должны быть завершены перед планированием зависимой задачи.

Имя Тип Описание
taskIdRanges

BatchTaskIdRange[]

Список диапазонов идентификаторов задач, от которых зависит эта задача. Все задачи во всех диапазонах должны быть успешно завершены до того, как зависимая задача будет запланирована.

taskIds

string[]

Список идентификаторов задач, от которых зависит эта задача. Все задачи в этом списке должны быть успешно выполнены до того, как зависимая Задача будет запланирована. Коллекция taskIds ограничена 64000 символов (то есть совокупная длина всех идентификаторов задач). Если коллекция taskIds превышает максимальную длину, запрос Add Task fail с ошибкой TaskDependencyListTooLong. В этом случае рассмотрите возможность использования диапазонов идентификаторов задач.

BatchTaskIdRange

Начало и конец диапазона включены. Например, если диапазон начинается 9 и конец 12, он представляет задачи "9", "10", "11" и "12".

Имя Тип Описание
end

integer (int32)

Последний идентификатор задачи в диапазоне.

start

integer (int32)

Первый ID задачи в диапазоне.

ContainerHostBatchBindMountEntry

Вход пути и режима подключения, который требуется подключить к контейнеру задач.

Имя Тип Описание
isReadOnly

boolean

Подключите этот исходный путь как режим только для чтения или нет. Значение по умолчанию равно false (режим чтения и записи). Если вы подключаете этот путь как режим чтения и записи, это не означает, что у всех пользователей в контейнере есть доступ на чтение и запись для пути, он зависит от доступа на виртуальной машине узла. Если этот путь подключен только для чтения, все пользователи в контейнере не смогут изменить путь.

source

ContainerHostDataPath

Путь, подключенный к клиенту контейнера, можно выбрать.

ContainerHostDataPath

Пути, которые будут подключены к контейнеру задачи контейнера.

Значение Описание
Shared

Путь к задаче с несколькими экземплярами для совместного использования файлов.

Startup

Путь к задаче запуска.

VfsMounts

Путь содержит все виртуальные файловые системы, подключенные на этом узле.

Task

Путь к задаче.

JobPrep

Путь задачи подготовки задания.

Applications

Путь к приложениям.

ContainerRegistryReference

Частный реестр контейнеров.

Имя Тип Описание
identityReference

BatchNodeIdentityReference

Ссылка на назначенное пользователем удостоверение для доступа к реестру контейнеров Azure вместо имени пользователя и пароля.

password

string (password)

Пароль для входа на сервер реестра.

registryServer

string (uri)

URL-адрес реестра. Если опущено, значение по умолчанию — "docker.io".

username

string

Имя пользователя для входа на сервер реестра.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

Значение Описание
taskWorkingDirectory

Используйте стандартную рабочую директорию задачи пакетного сервиса, которая будет содержать файлы ресурсов задач, заполненные batch.

containerImageDefault

Используйте рабочую директорию, определённую в контейнере Image. Обратите внимание, что эта папка не будет содержать файлы ресурсов, загруженные Batch.

DependencyAction

Enums DependencyAction

Значение Описание
satisfy

Выполнять задачи, ожидающие этого задания; После того как все зависимости будут выполнены, задача будет запланирована на выполнение.

block

Блокирует задачи, ожидающие выполнение этой задачи, не давая их расписанию.

ElevationLevel

Enums ElevationLevel

Значение Описание
nonadmin

Пользователь является стандартным пользователем без повышенного доступа.

admin

Пользователь является пользователем с повышенными правами доступа и работает с полными разрешениями администратора.

EnvironmentSetting

Переменная среды, устанавливаемая в процессе задачи.

Имя Тип Описание
name

string

Имя переменной среды.

value

string

Значение переменной среды.

ExitCodeMapping

Как служба пакетной службы должна реагировать, если задача завершает работу с определенным кодом выхода.

Имя Тип Описание
code

integer (int32)

Код выхода процесса.

exitOptions

ExitOptions

Как должен реагировать пакетный сервис, если задача выходит с этим кодом выхода.

ExitCodeRangeMapping

Диапазон кодов выхода и способ реагирования пакетной службы на коды выхода в этом диапазоне.

Имя Тип Описание
end

integer (int32)

Последний код выхода в диапазоне.

exitOptions

ExitOptions

Как должна реагировать пакетная служба, если задача выходит с кодом выхода в диапазоне от начала до конца (включительно).

start

integer (int32)

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

ExitConditions

Указывает, как служба пакетной службы должна реагировать при завершении задачи.

Имя Тип Описание
default

ExitOptions

Как должна реагировать пакетная служба, если задача сбывает с условием выхода, не покрываемым другими свойствами. Это значение используется, если задача выходит с любым ненулевой кодом выхода, не указанным в коллекции exitCodes или exitCodeRanges, при ошибке предварительной обработки, если свойство preProcessingError отсутствует, или при ошибке загрузки файла, если свойство fileUploadError отсутствует. Если вы хотите нестандартное поведение на exit code 0, нужно явно указать его в коллекции exitCodes или exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Список диапазонов кодов выхода задачи и то, как пакетный сервис должен на них реагировать.

exitCodes

ExitCodeMapping[]

Список отдельных кодов выхода задачи и то, как пакетная служба должна на них реагировать.

fileUploadError

ExitOptions

Как пакетный сервис должен реагировать, если возникает ошибка при загрузке файла. Если задача завершилась с кодом выхода, указанным через exitCodes или exitCodeRanges, и затем столкнулась с ошибкой загрузки файла, то действие, указанное в этом exit-коде, имеет приоритет.

preProcessingError

ExitOptions

Как должна реагировать пакетная служба, если задача не запускается из-за ошибки.

ExitOptions

Указывает, как служба пакетной службы реагирует на определенное условие выхода.

Имя Тип Описание
dependencyAction

DependencyAction

Действие, которое пакетный сервис выполняет над задачами, зависящими от этой задачи. Возможные значения — «удовлетворить» (позволить зависимым задачам продвигаться) и «блокировать» (зависимые задачи продолжают ждать). Пакетная система пока не поддерживает отмену зависимых задач.

jobAction

BatchJobActionKind

Действие, которое нужно выполнить на задании, содержащем задачу, если задача завершается с заданным условием выхода, а свойство onTaskFailed — 'performExitOptionsJobAction'. По умолчанию нет для кода выхода 0 и заканчивается для всех остальных условий выхода. Если свойство onTaskFailed задачи — noaction, то указание этого свойства возвращает ошибку, и запрос добавить задачу не выполняется с ошибкой недопустимого значения свойства; если вы вызываете REST API напрямую, HTTP-код статуса — 400 (Плохой запрос).

MultiInstanceSettings

Задачи с несколькими экземплярами обычно используются для поддержки задач MPI. В случае MPI в случае сбоя любой из вложенных задач (например, из-за выхода с кодом выхода без нуля) вся задача с несколькими экземплярами завершается ошибкой. Затем задача с несколькими экземплярами завершается и извлекается до ограничения повторных попыток.

Имя Тип Описание
commonResourceFiles

ResourceFile[]

Список файлов, которые пакетный сервис скачает перед запуском командной строки координации. Разница между общими файлами ресурсов и файлами задач в том, что общие файлы ресурсов скачиваются для всех подзадач, включая основную, тогда как файлы ресурсов задач скачиваются только для основной. Также обратите внимание, что эти файлы ресурсов не загружаются в рабочую директорию задачи, а загружаются в корневой директорию задачи (на одну папку выше рабочего каталога). Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.

coordinationCommandLine

string

Командная строка для запуска всех вычислительных узлов, чтобы они могли координироваться, когда основной выполняет основную команду задачи. Типичная командная строка координации запускает фоновый сервис и проверяет, готов ли сервис обрабатывать межузловые сообщения.

numberOfInstances

integer (int32)

Количество вычислительных узлов, необходимых для задачи. Если его опустить, то по умолчанию 1.

OutputFile

При каждой отправке файлов пакетная служба записывает два файла журнала на вычислительный узелfileuploadout.txtиfileuploaderr.txt. Эти файлы журналов используются для получения дополнительных сведений о конкретном сбое.

Имя Тип Описание
destination

OutputFileDestination

Пункт назначения для выходных файлов.

filePattern

string

Шаблон, указывающий, какие файлы загружать. Поддерживаются как относительные, так и абсолютные пути. Относительные пути относятся к рабочему каталогу задач. Поддерживаются следующие джокеры: * совпадает с 0 или более символами (например, шаблон abc* совпадает с abc или abcdef), ** совпадает с любой каталогом, ? совпадает с любым символом, [ABC] совпадает с одним символом в скобках, а [a-c] совпадает с одним символом в диапазоне. В скобках может быть отрицание, соответствующее любому символу, не указанному (например, [!abc] совпадает с любым символом, кроме a, b или c). Если имя файла начинается с «.», оно по умолчанию игнорируется, но может быть сопоставлено явным указанием ( например,.gif не будет совпадать с .a.gif, а.gif будет совпадать ). Простой пример: ***.txt совпадает с любым файлом, который не начинается с '.' и заканчивается .txt в рабочем каталоге задачи или любом подкаталоге. Если имя файла содержит джокер-символ, его можно скрыть с помощью скобок (например, abc[] совпадёт с файлом с названием abc). Обратите внимание, что и \, и / рассматриваются как разделители каталогов в Windows, но только / есть в Linux. Переменные окружения (%var% в Windows или $var на Linux) расширяются до применения паттерна.

uploadOptions

OutputFileUploadConfig

Дополнительные опции для загрузки, включая условия для загрузки.

OutputFileBlobContainerDestination

Указывает назначение отправки файлов в контейнере хранилища BLOB-объектов Azure.

Имя Тип Описание
containerUrl

string (uri)

URL контейнера в Azure Blob Storage, куда можно загрузить файл(ы). Если не используется управляемая идентичность, URL должен содержать подпись общего доступа (SAS), предоставляющая разрешения на запись контейнера.

identityReference

BatchNodeIdentityReference

Ссылка на назначенную пользователю идентичность для доступа к Azure Blob Storage, указанной в containerUrl. Идентичность должна иметь доступ к записи в контейнер хранения Azure Blob.

path

string

Целевой blob или виртуальный каталог внутри контейнера Azure Storage. Если filePattern относится к конкретному файлу (то есть не содержит джокеров), то path — это название blob, в который нужно загрузить этот файл. Если filePattern содержит один или несколько диких карт (и, следовательно, может совпадать с несколькими файлами), то path — это название виртуальной папки blob (которая предупреждается к именю каждого blob), куда можно загрузить файл(и). Если файлы опущены, файл(ы) загружаются в корень контейнера с именем blob, соответствующим их имени.

uploadHeaders

OutputFileUploadHeader[]

Список пар имя-значение для заголовков, используемых при загрузке выходных файлов. Эти заголовки будут указаны при загрузке файлов в Azure Storage. Официальный документ о разрешённых заголовках при загрузке blobs: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types.

OutputFileDestination

Назначение, в которое должен быть отправлен файл.

Имя Тип Описание
container

OutputFileBlobContainerDestination

Место в хранилище Azure blob, куда загружаются файлы.

OutputFileUploadCondition

Enums OutputFileUploadCondition

Значение Описание
tasksuccess

Загружайте файл(ы) только после выхода процесса задачи с кодом выхода 0.

taskfailure

Загружайте файл(ы) только после выхода процесса задачи с ненулевой кодом выхода.

taskcompletion

Загрузите файл(ы) после завершения процесса задачи, независимо от кода выхода.

OutputFileUploadConfig

Параметры операции отправки выходных файлов, в том числе при условии выполнения отправки.

Имя Тип Описание
uploadCondition

OutputFileUploadCondition

Условия, при которых должен быть загружен выходной файл задачи или набор файлов. По умолчанию выполнение задач.

OutputFileUploadHeader

Пара "Имя-значение" заголовка HTTP

Имя Тип Описание
name

string

Имя заголовка, не чувствительного к регистру, используемого при загрузке выходных файлов.

value

string

Значение заголовка, используемого при загрузке выходных файлов.

ResourceFile

Один файл или несколько файлов, которые нужно скачать на вычислительный узел.

Имя Тип Описание
autoStorageContainerName

string

Название контейнера хранения в учетной записи автохранилища. Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан.

blobPrefix

string

Префикс большого двоичного объекта, используемый при скачивании BLOB-объектов из контейнера службы хранилища Azure. Будут загружены только большие двоичные объекты, имена которых начинаются с указанного префикса. Свойство допустимо, только если используется autoStorageContainerName или storageContainerUrl. Этот префикс может быть частичным именем файла или подкаталогом. Если префикс не указан, все файлы в контейнере будут скачаны.

fileMode

string

Атрибут режима разрешений файла в восьмимерном формате. Это свойство применяется только к файлам, загружаемым в вычислительные узлы Linux. Он будет игнорирован, если он указан для resourceFile, который будет загружен на вычислительный узел Windows. Если это свойство не указано для вычислительного узла Linux, то к файлу применяется значение по умолчанию 0770.

filePath

string

Местоположение на Вычислительном узле, куда можно скачать файл(ы), относительно рабочей директории задачи. Если задано свойство httpUrl, файлPath является обязательным и описывает путь, в который будет скачан файл, включая имя файла. В противном случае, если задано свойство autoStorageContainerName или storageContainerUrl, filePath является необязательным и является каталогом для скачивания файлов. В случае, когда filePath используется в качестве каталога, любая структура каталогов, уже связанная с входными данными, будет сохранена в полном объеме и добавлена в указанный каталог filePath. Указанный относительный путь не может выйти из рабочего каталога задачи (например, используя '..').

httpUrl

string (uri)

URL-адрес скачиваемого файла. Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. Если URL-адрес указывает на хранилище BLOB-объектов Azure, он должен быть доступен для чтения с вычислительных узлов. Существует три способа получить такой URL-адрес для большого двоичного объекта в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение большого двоичного объекта, использовать управляемое удостоверение с разрешением на чтение или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общедоступный доступ.

identityReference

BatchNodeIdentityReference

Ссылка на идентификатор, назначенную пользователю для доступа к Azure Blob Storage, указанную в storageContainerUrl или httpUrl.

storageContainerUrl

string (uri)

URL-адрес контейнера BLOB-объектов в хранилище BLOB-объектов Azure. Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. Этот URL-адрес должен быть доступен для чтения и перечисления из вычислительных узлов. Существует три способа получить такой URL-адрес для контейнера в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение и список для контейнера, использовать управляемое удостоверение с разрешениями на чтение и список или задать ACL для контейнера, чтобы разрешить общедоступный доступ.

UserIdentity

Определение удостоверения пользователя, в котором выполняется задача. Укажите свойство userName или autoUser, но не оба.

Имя Тип Описание
autoUser

AutoUserSpecification

Автоматический пользователь, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба.

username

string

Название идентификатора пользователя, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба.