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). |
|
job
|
path | True |
string |
ID задачи, для которой должна быть создана задача. |
|
api-version
|
query | True |
string minLength: 1 |
Версия API, используемая для данной операции. |
|
time
|
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 |
Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи. |
||
| applicationPackageReferences |
Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется. |
||
| constraints |
Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней. |
||
| containerSettings |
Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня пакетная служба Azure каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на хост-диске, что означает, что API пакетных файлов не смогут получить доступ к этим файлам. |
||
| dependsOn |
Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано. Если у задания не установлено true, а этот элемент присутствует, запрос не выполняется с кодом ошибки TaskDependenciesNotSpecifiedOnJob. |
||
| displayName |
string |
Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024. |
|
| environmentSettings |
Список настроек переменных среды для задачи. |
||
| exitConditions |
Как должна реагировать пакетная служба после завершения задачи. |
||
| multiInstanceSettings |
Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу. |
||
| outputFiles |
Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача. |
||
| requiredSlots |
integer (int32) |
Количество слотов для расписания, необходимых для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1. |
|
| resourceFiles |
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. |
||
| userIdentity |
Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 201 Created |
Запрос успешно выполнен, и в результате был создан новый ресурс. Заголовки
|
|
| Other Status Codes |
Непредвиденное сообщение об ошибке. |
Безопасность
OAuth2Auth
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Области
| Имя | Описание |
|---|---|
| https://batch.core.windows.net//.default |
Примеры
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"
}
Пример ответа
Определения
| Имя | Описание |
|---|---|
|
Auto |
AutoUserScope enums |
|
Auto |
Задаёт параметры для автопользователя, который выполняет задачу пакетная служба Azure. |
|
Batch |
Указание локальности, которое может использоваться пакетной службой для выбора вычислительного узла, на котором нужно запустить задачу. |
|
Batch |
Ссылка на пакет для развертывания на вычислительных узлах. |
|
Batch |
Получена ошибка от сервиса пакетная служба Azure. |
|
Batch |
Дополнительная информация, включённая в ответ на ошибку пакетная служба Azure. |
|
Batch |
Сообщение об ошибке, полученное в ответе на ошибку пакетная служба Azure. |
|
Batch |
Энумы BatchJobAction |
|
Batch |
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел. |
|
Batch |
Ограничения выполнения для применения к задаче. |
|
Batch |
Параметры контейнера для задачи. |
|
Batch |
Parameters for creating an пакетная служба Azure Task. |
|
Batch |
Указывает все зависимости задачи. Все задачи, явно указанные или находящиеся в диапазоне зависимостей, должны быть завершены перед планированием зависимой задачи. |
|
Batch |
Начало и конец диапазона включены. Например, если диапазон начинается 9 и конец 12, он представляет задачи "9", "10", "11" и "12". |
|
Container |
Вход пути и режима подключения, который требуется подключить к контейнеру задач. |
|
Container |
Пути, которые будут подключены к контейнеру задачи контейнера. |
|
Container |
Частный реестр контейнеров. |
|
Container |
ContainerWorkingDirectory enums |
|
Dependency |
Enums DependencyAction |
|
Elevation |
Enums ElevationLevel |
|
Environment |
Переменная среды, устанавливаемая в процессе задачи. |
|
Exit |
Как служба пакетной службы должна реагировать, если задача завершает работу с определенным кодом выхода. |
|
Exit |
Диапазон кодов выхода и способ реагирования пакетной службы на коды выхода в этом диапазоне. |
|
Exit |
Указывает, как служба пакетной службы должна реагировать при завершении задачи. |
|
Exit |
Указывает, как служба пакетной службы реагирует на определенное условие выхода. |
|
Multi |
Задачи с несколькими экземплярами обычно используются для поддержки задач MPI. В случае MPI в случае сбоя любой из вложенных задач (например, из-за выхода с кодом выхода без нуля) вся задача с несколькими экземплярами завершается ошибкой. Затем задача с несколькими экземплярами завершается и извлекается до ограничения повторных попыток. |
|
Output |
При каждой отправке файлов пакетная служба записывает два файла журнала на вычислительный узелfileuploadout.txtиfileuploaderr.txt. Эти файлы журналов используются для получения дополнительных сведений о конкретном сбое. |
|
Output |
Указывает место для загрузки файла внутри хранилища blob Azure. |
|
Output |
Назначение, в которое должен быть отправлен файл. |
|
Output |
Enums OutputFileUploadCondition |
|
Output |
Параметры операции отправки выходных файлов, в том числе при условии выполнения отправки. |
|
Output |
Пара "Имя-значение" заголовка HTTP |
|
Resource |
Один файл или несколько файлов, которые нужно скачать на вычислительный узел. |
|
User |
Определение удостоверения пользователя, в котором выполняется задача. Укажите свойство userName или autoUser, но не оба. |
AutoUserScope
AutoUserScope enums
| Значение | Описание |
|---|---|
| task |
Указывает, что сервис должен создать нового пользователя для задачи. |
| pool |
Указывает, что задача выполняется как общий автопользовательский аккаунт, который создаётся на каждом вычислительном узле пула. |
AutoUserSpecification
Задаёт параметры для автопользователя, который выполняет задачу пакетная служба Azure.
| Имя | Тип | Описание |
|---|---|---|
| elevationLevel |
Уровень повышения прав автоматического пользователя. Значение по умолчанию — nonAdmin. |
|
| scope |
Область для автоматического пользователя. Значение по умолчанию — пул. Если пул работает с Windows, значение Task должно быть указано, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что это может повлиять на другие задачи. |
BatchAffinityInfo
Указание локальности, которое может использоваться пакетной службой для выбора вычислительного узла, на котором нужно запустить задачу.
| Имя | Тип | Описание |
|---|---|---|
| affinityId |
string |
Непрозрачная строка, обозначающая расположение вычислительного узла или задачи, выполнявшейся ранее. Вы можете передать affinityId узла, чтобы указать, что задача должна выполняться на этом вычислительном узле. Обратите внимание, что это просто мягкое сходство. Если целевой вычислительный узел занят или недоступен во время планирования задачи, задача будет запланирована в другом месте. |
BatchApplicationPackageReference
Ссылка на пакет для развертывания на вычислительных узлах.
| Имя | Тип | Описание |
|---|---|---|
| applicationId |
string |
ID приложения для развертывания. При создании пула идентификатор приложения пакета должен быть полностью квалифицирован (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Майкрософт. Batch/batchAccounts/{accountName}/applications/{applicationName}). |
| version |
string |
Версия приложения для развертывания. Если опущено, будет развернута версия по умолчанию. Если это опущено в пуле, и для этого приложения не указана стандартная версия, запрос не выполняется с кодом ошибки InvalidApplicationPackageReferences и HTTP-кодом статуса 409. Если это опущено в задаче, и для этого приложения не указана стандартная версия, задача проваливается с ошибкой предварительной обработки. |
BatchError
Получена ошибка от сервиса пакетная служба Azure.
| Имя | Тип | Описание |
|---|---|---|
| code |
string |
Идентификатор ошибки. Коды являются инвариантными и предназначены для программного использования. |
| message |
Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе. |
|
| values |
Коллекция пар "ключ-значение", содержащая дополнительные сведения об ошибке. |
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) |
Максимальное прошедшее время выполнения задачи, измеряемое с момента её запуска. Если задача не завершается в отведённое время, пакетная служба завершает её. Если это не указано, нет ограничения по времени, как долго выполняется Задача. Длительность времени указана в формате ISO 8601. |
| retentionTime |
string (duration) |
Минимальное время для сохранения каталога задачи на вычислительном узле, где он выполнялся, начинается с момента завершения выполнения. После этого времени пакетная служба может удалить каталог задач и всё её содержимое. По умолчанию — 7 дней, то есть каталог задач сохраняется в течение 7 дней, если только вычислительный узел не будет удален или задание не будет удалено. Длительность времени указана в формате ISO 8601. |
BatchTaskContainerSettings
Параметры контейнера для задачи.
| Имя | Тип | Описание |
|---|---|---|
| containerHostBatchBindMounts |
Пути, которые необходимо подключить к задаче контейнера. Если этот массив имеет значение NULL или отсутствует, задача контейнера будет подключать весь временный диск диска в окнах (или AZ_BATCH_NODE_ROOT_DIR в Linux). Он не будет подключать пути к данным в контейнер, если этот массив задан как пустой. |
|
| containerRunOptions |
string |
Дополнительные параметры команды создания контейнера. Эти дополнительные параметры предоставляются в качестве аргументов в команду docker create, а также те, которые управляются пакетной службой. |
| imageName |
string |
Изображение для создания контейнера, в котором будет выполняться задача. Это полная ссылка на изображение, как было бы указано в «docker pull». Если в названии изображения нет тега, по умолчанию используется тег «:latest». |
| registry |
Частный реестр, содержащий контейнер Image. Эта настройка может быть опущена, если она уже была предоставлена при создании пула. |
|
| workingDirectory |
Расположение рабочего каталога задач контейнера. Значение по умолчанию — taskWorkingDirectory. |
BatchTaskCreateOptions
Parameters for creating an пакетная служба Azure Task.
| Имя | Тип | Описание |
|---|---|---|
| affinityInfo |
Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи. |
|
| applicationPackageReferences |
Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется. |
|
| commandLine |
string |
Командная строка задачи. Для многоэкземплярных задач командная строка выполняется как основная задача, после того как основная задача и все подзадачи завершили выполнение командной строки координации. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими возможностями, стоит вызвать оболочку в командной строке, например, используя "cmd /c MyCommand" в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints |
Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней. |
|
| containerSettings |
Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня пакетная служба Azure каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на хост-диске, что означает, что API пакетных файлов не смогут получить доступ к этим файлам. |
|
| dependsOn |
Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано. Если у задания не установлено true, а этот элемент присутствует, запрос не выполняется с кодом ошибки TaskDependenciesNotSpecifiedOnJob. |
|
| displayName |
string |
Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024. |
| environmentSettings |
Список настроек переменных среды для задачи. |
|
| exitConditions |
Как должна реагировать пакетная служба после завершения задачи. |
|
| id |
string |
Строка, которая уникально идентифицирует задачу внутри задания. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и символы подчеркивания, и не может содержать более 64 символов. ID сохраняет регистр и не зависит от регистра (то есть, у вас может не быть двух ID внутри вакансии, которые различаются только в зависимости от случая). |
| multiInstanceSettings |
Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу. |
|
| outputFiles |
Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача. |
|
| requiredSlots |
integer (int32) |
Количество слотов для расписания, необходимых для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1. |
| resourceFiles |
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. |
|
| userIdentity |
Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи. |
BatchTaskDependencies
Указывает все зависимости задачи. Все задачи, явно указанные или находящиеся в диапазоне зависимостей, должны быть завершены перед планированием зависимой задачи.
| Имя | Тип | Описание |
|---|---|---|
| taskIdRanges |
Список диапазонов идентификаторов задач, от которых зависит эта задача. Все задачи во всех диапазонах должны быть успешно завершены до того, как зависимая задача будет запланирована. |
|
| 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
Пути, которые будут подключены к контейнеру задачи контейнера.
| Значение | Описание |
|---|---|
| Shared |
Путь к задаче с несколькими экземплярами для совместного использования файлов. |
| Startup |
Путь к задаче запуска. |
| VfsMounts |
Путь содержит все виртуальные файловые системы, подключенные на этом узле. |
| Task |
Путь к задаче. |
| JobPrep |
Путь задачи подготовки задания. |
| Applications |
Путь к приложениям. |
ContainerRegistryReference
Частный реестр контейнеров.
| Имя | Тип | Описание |
|---|---|---|
| identityReference |
Ссылка на назначенную пользователю личность для доступа к Реестр контейнеров 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 |
Как должен реагировать пакетный сервис, если задача выходит с этим кодом выхода. |
ExitCodeRangeMapping
Диапазон кодов выхода и способ реагирования пакетной службы на коды выхода в этом диапазоне.
| Имя | Тип | Описание |
|---|---|---|
| end |
integer (int32) |
Последний код выхода в диапазоне. |
| exitOptions |
Как должна реагировать пакетная служба, если задача выходит с кодом выхода в диапазоне от начала до конца (включительно). |
|
| start |
integer (int32) |
Первый код выхода в диапазоне. |
ExitConditions
Указывает, как служба пакетной службы должна реагировать при завершении задачи.
| Имя | Тип | Описание |
|---|---|---|
| default |
Как должна реагировать пакетная служба, если задача сбывает с условием выхода, не покрываемым другими свойствами. Это значение используется, если задача выходит с любым ненулевой кодом выхода, не указанным в коллекции exitCodes или exitCodeRanges, при ошибке предварительной обработки, если свойство preProcessingError отсутствует, или при ошибке загрузки файла, если свойство fileUploadError отсутствует. Если вы хотите нестандартное поведение на exit code 0, нужно явно указать его в коллекции exitCodes или exitCodeRanges. |
|
| exitCodeRanges |
Список диапазонов кодов выхода задачи и то, как пакетный сервис должен на них реагировать. |
|
| exitCodes |
Список отдельных кодов выхода задачи и то, как пакетная служба должна на них реагировать. |
|
| fileUploadError |
Как пакетный сервис должен реагировать, если возникает ошибка при загрузке файла. Если задача завершилась с кодом выхода, указанным через exitCodes или exitCodeRanges, и затем столкнулась с ошибкой загрузки файла, то действие, указанное в этом exit-коде, имеет приоритет. |
|
| preProcessingError |
Как должна реагировать пакетная служба, если задача не запускается из-за ошибки. |
ExitOptions
Указывает, как служба пакетной службы реагирует на определенное условие выхода.
| Имя | Тип | Описание |
|---|---|---|
| dependencyAction |
Действие, которое пакетный сервис выполняет над задачами, зависящими от этой задачи. Возможные значения — «удовлетворить» (позволить зависимым задачам продвигаться) и «блокировать» (зависимые задачи продолжают ждать). Пакетная система пока не поддерживает отмену зависимых задач. |
|
| jobAction |
Действие, которое нужно выполнить на задании, содержащем задачу, если задача завершается с заданным условием выхода, а свойство onTaskFailed — 'performExitOptionsJobAction'. По умолчанию нет для кода выхода 0 и заканчивается для всех остальных условий выхода. Если свойство onTaskFailed задачи — noaction, то указание этого свойства возвращает ошибку, и запрос добавить задачу не выполняется с ошибкой недопустимого значения свойства; если вы вызываете REST API напрямую, HTTP-код статуса — 400 (Плохой запрос). |
MultiInstanceSettings
Задачи с несколькими экземплярами обычно используются для поддержки задач MPI. В случае MPI в случае сбоя любой из вложенных задач (например, из-за выхода с кодом выхода без нуля) вся задача с несколькими экземплярами завершается ошибкой. Затем задача с несколькими экземплярами завершается и извлекается до ограничения повторных попыток.
| Имя | Тип | Описание |
|---|---|---|
| commonResourceFiles |
Список файлов, которые пакетный сервис скачает перед запуском командной строки координации. Разница между общими файлами ресурсов и файлами задач в том, что общие файлы ресурсов скачиваются для всех подзадач, включая основную, тогда как файлы ресурсов задач скачиваются только для основной. Также обратите внимание, что эти файлы ресурсов не загружаются в рабочую директорию задачи, а загружаются в корневой директорию задачи (на одну папку выше рабочего каталога). Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. |
|
| coordinationCommandLine |
string |
Командная строка для запуска всех вычислительных узлов, чтобы они могли координироваться, когда основной выполняет основную команду задачи. Типичная командная строка координации запускает фоновый сервис и проверяет, готов ли сервис обрабатывать межузловые сообщения. |
| numberOfInstances |
integer (int32) |
Количество вычислительных узлов, необходимых для задачи. Если его опустить, то по умолчанию 1. |
OutputFile
При каждой отправке файлов пакетная служба записывает два файла журнала на вычислительный узелfileuploadout.txtиfileuploaderr.txt. Эти файлы журналов используются для получения дополнительных сведений о конкретном сбое.
| Имя | Тип | Описание |
|---|---|---|
| destination |
Пункт назначения для выходных файлов. |
|
| 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 |
Дополнительные опции для загрузки, включая условия для загрузки. |
OutputFileBlobContainerDestination
Указывает место для загрузки файла внутри хранилища blob Azure.
| Имя | Тип | Описание |
|---|---|---|
| containerUrl |
string (uri) |
URL контейнера внутри Хранилище BLOB-объектов Azure, куда можно загрузить файл(ы). Если не используется управляемая идентичность, URL должен содержать подпись общего доступа (SAS), предоставляющая разрешения на запись контейнера. |
| identityReference |
Ссылка на назначенную пользователю идентичность для доступа к Хранилище BLOB-объектов Azure, указанной через containerUrl. Идентичность должна иметь доступ к записи в контейнер Хранилище BLOB-объектов Azure. |
|
| path |
string |
Целевой blob или виртуальный каталог внутри контейнера служба хранилища Azure. Если filePattern относится к конкретному файлу (то есть не содержит джокеров), то path — это название blob, в который нужно загрузить этот файл. Если filePattern содержит один или несколько диких карт (и, следовательно, может совпадать с несколькими файлами), то path — это название виртуальной папки blob (которая предупреждается к именю каждого blob), куда можно загрузить файл(и). Если файлы опущены, файл(ы) загружаются в корень контейнера с именем blob, соответствующим их имени. |
| uploadHeaders |
Список пар имя-значение для заголовков, используемых при загрузке выходных файлов. Эти заголовки будут указываться при загрузке файлов в служба хранилища Azure. Официальный документ о разрешённых заголовках при загрузке blobs: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types. |
OutputFileDestination
Назначение, в которое должен быть отправлен файл.
| Имя | Тип | Описание |
|---|---|---|
| container |
Место в хранилище blob Azure, куда загружаются файлы. |
OutputFileUploadCondition
Enums OutputFileUploadCondition
| Значение | Описание |
|---|---|
| tasksuccess |
Загружайте файл(ы) только после выхода процесса задачи с кодом выхода 0. |
| taskfailure |
Загружайте файл(ы) только после выхода процесса задачи с ненулевой кодом выхода. |
| taskcompletion |
Загрузите файл(ы) после завершения процесса задачи, независимо от кода выхода. |
OutputFileUploadConfig
Параметры операции отправки выходных файлов, в том числе при условии выполнения отправки.
| Имя | Тип | Описание |
|---|---|---|
| uploadCondition |
Условия, при которых должен быть загружен выходной файл задачи или набор файлов. По умолчанию выполнение задач. |
OutputFileUploadHeader
Пара "Имя-значение" заголовка HTTP
| Имя | Тип | Описание |
|---|---|---|
| name |
string |
Имя заголовка, не чувствительного к регистру, используемого при загрузке выходных файлов. |
| value |
string |
Значение заголовка, используемого при загрузке выходных файлов. |
ResourceFile
Один файл или несколько файлов, которые нужно скачать на вычислительный узел.
| Имя | Тип | Описание |
|---|---|---|
| autoStorageContainerName |
string |
Название контейнера хранения в учетной записи автохранилища. Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. |
| blobPrefix |
string |
Префикс blob для загрузки 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 для blob в хранилище Azure: добавить Shared Access Signature (SAS), предоставляющую права на чтение blob, использовать управляемую идентичность с разрешением на чтение или установить ACL для blob или его контейнера для публичного доступа. |
| identityReference |
Ссылка на назначенную пользователю идентичность для доступа к Хранилище BLOB-объектов Azure, указанная через storageContainerUrl или httpUrl. |
|
| storageContainerUrl |
string (uri) |
URL blob container внутри Хранилище BLOB-объектов Azure. Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. Этот URL-адрес должен быть доступен для чтения и перечисления из вычислительных узлов. Существует три способа получить такой URL для контейнера в хранилище Azure: включить Shared Access Signature (SAS), предоставляющую права на чтение и список контейнера, использовать управляемую идентичность с правами на чтение и список, либо установить ACL для контейнера для публичного доступа. |
UserIdentity
Определение удостоверения пользователя, в котором выполняется задача. Укажите свойство userName или autoUser, но не оба.
| Имя | Тип | Описание |
|---|---|---|
| autoUser |
Автоматический пользователь, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба. |
|
| username |
string |
Название идентификатора пользователя, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба. |