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. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется. |
||
| authenticationTokenSettings |
Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство установлено, пакетный сервис предоставляет задаче токен аутентификации, который можно использовать для аутентификации операций пакетного сервиса без необходимости ключа доступа к аккаунту. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с использованием токена, зависят от настроек. Например, задача может запрашивать разрешения на выполнение заданий, чтобы добавить другие задачи в работу, или проверять статус работы или других задач под этой задачей. |
||
| constraints |
Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней. |
||
| containerSettings |
Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня Azure Batch каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне 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"
}
Пример ответа
Определения
| Имя | Описание |
|---|---|
|
Authentication |
Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. |
|
Auto |
AutoUserScope enums |
|
Auto |
Указывает параметры автоматического пользователя, выполняющего задачу пакетной службы Azure. |
|
Batch |
BatchAccessScope enums |
|
Batch |
Указание локальности, которое может использоваться пакетной службой для выбора вычислительного узла, на котором нужно запустить задачу. |
|
Batch |
Ссылка на пакет для развертывания на вычислительных узлах. |
|
Batch |
Ответ об ошибке, полученный из пакетной службы Azure. |
|
Batch |
Элемент дополнительных сведений, включенных в ответ на ошибку пакетной службы Azure. |
|
Batch |
Сообщение об ошибке, полученное в ответе на ошибку пакетной службы Azure. |
|
Batch |
Энумы BatchJobAction |
|
Batch |
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел. |
|
Batch |
Ограничения выполнения для применения к задаче. |
|
Batch |
Параметры контейнера для задачи. |
|
Batch |
Параметры для создания задачи пакетной службы Azure. |
|
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, но не оба. |
AuthenticationTokenSettings
Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы.
| Имя | Тип | Описание |
|---|---|---|
| access |
Пакетные ресурсы, к которым токен предоставляет доступ. Токен аутентификации предоставляет доступ к ограниченному набору операций пакетного сервиса. В настоящее время единственным поддерживаемым значением свойства доступа является 'job', которое предоставляет доступ ко всем операциям, связанным с задачей, содержащей задачу. |
AutoUserScope
AutoUserScope enums
| Значение | Описание |
|---|---|
| task |
Указывает, что сервис должен создать нового пользователя для задачи. |
| pool |
Указывает, что задача выполняется как общий автопользовательский аккаунт, который создаётся на каждом вычислительном узле пула. |
AutoUserSpecification
Указывает параметры автоматического пользователя, выполняющего задачу пакетной службы Azure.
| Имя | Тип | Описание |
|---|---|---|
| elevationLevel |
Уровень повышения прав автоматического пользователя. Значение по умолчанию — nonAdmin. |
|
| scope |
Область для автоматического пользователя. Значение по умолчанию — пул. Если пул работает под управлением 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 |
Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе. |
|
| 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) |
Максимальное прошедшее время выполнения задачи, измеряемое с момента её запуска. Если задача не завершается в отведённое время, пакетная служба завершает её. Если это не указано, нет ограничения по времени, как долго выполняется Задача. |
| retentionTime |
string (duration) |
Минимальное время для сохранения каталога задачи на вычислительном узле, где он выполнялся, начинается с момента завершения выполнения. После этого времени пакетная служба может удалить каталог задач и всё её содержимое. По умолчанию — 7 дней, то есть каталог задач сохраняется в течение 7 дней, если только вычислительный узел не будет удален или задание не будет удалено. |
BatchTaskContainerSettings
Параметры контейнера для задачи.
| Имя | Тип | Описание |
|---|---|---|
| containerHostBatchBindMounts |
Пути, которые необходимо подключить к задаче контейнера. Если этот массив имеет значение NULL или отсутствует, задача контейнера будет подключать весь временный диск диска в окнах (или AZ_BATCH_NODE_ROOT_DIR в Linux). Он не будет подключать пути к данным в контейнер, если этот массив задан как пустой. |
|
| containerRunOptions |
string |
Дополнительные параметры команды создания контейнера. Эти дополнительные параметры предоставляются в качестве аргументов в команду docker create, а также те, которые управляются пакетной службой. |
| imageName |
string |
Изображение для создания контейнера, в котором будет выполняться задача. Это полная ссылка на изображение, как было бы указано в «docker pull». Если в названии изображения нет тега, по умолчанию используется тег «:latest». |
| registry |
Частный реестр, содержащий контейнер Image. Эта настройка может быть опущена, если она уже была предоставлена при создании пула. |
|
| workingDirectory |
Расположение рабочего каталога задач контейнера. Значение по умолчанию — taskWorkingDirectory. |
BatchTaskCreateOptions
Параметры для создания задачи пакетной службы Azure.
| Имя | Тип | Описание |
|---|---|---|
| affinityInfo |
Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи. |
|
| applicationPackageReferences |
Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется. |
|
| 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 |
Ограничения на выполнение, применимые к этой задаче. Если вы не указываете ограничения, maxTaskRetryCount — это maxTaskRetryCount, указанный для Job, maxWallClockTime бесконечен, а retentionTime — 7 дней. |
|
| containerSettings |
Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня Azure Batch каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне 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 контейнера в Azure Blob Storage, куда можно загрузить файл(ы). Если не используется управляемая идентичность, URL должен содержать подпись общего доступа (SAS), предоставляющая разрешения на запись контейнера. |
| identityReference |
Ссылка на назначенную пользователю идентичность для доступа к Azure Blob Storage, указанной в containerUrl. Идентичность должна иметь доступ к записи в контейнер хранения Azure Blob. |
|
| path |
string |
Целевой blob или виртуальный каталог внутри контейнера Azure Storage. Если filePattern относится к конкретному файлу (то есть не содержит джокеров), то path — это название blob, в который нужно загрузить этот файл. Если filePattern содержит один или несколько диких карт (и, следовательно, может совпадать с несколькими файлами), то path — это название виртуальной папки blob (которая предупреждается к именю каждого blob), куда можно загрузить файл(и). Если файлы опущены, файл(ы) загружаются в корень контейнера с именем blob, соответствующим их имени. |
| uploadHeaders |
Список пар имя-значение для заголовков, используемых при загрузке выходных файлов. Эти заголовки будут указаны при загрузке файлов в Azure Storage. Официальный документ о разрешённых заголовках при загрузке blobs: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types. |
OutputFileDestination
Назначение, в которое должен быть отправлен файл.
| Имя | Тип | Описание |
|---|---|---|
| container |
Место в хранилище Azure blob, куда загружаются файлы. |
OutputFileUploadCondition
Enums OutputFileUploadCondition
| Значение | Описание |
|---|---|
| tasksuccess |
Загружайте файл(ы) только после выхода процесса задачи с кодом выхода 0. |
| taskfailure |
Загружайте файл(ы) только после выхода процесса задачи с ненулевой кодом выхода. |
| taskcompletion |
Загрузите файл(ы) после завершения процесса задачи, независимо от кода выхода. |
OutputFileUploadConfig
Параметры операции отправки выходных файлов, в том числе при условии выполнения отправки.
| Имя | Тип | Описание |
|---|---|---|
| uploadCondition |
Условия, при которых должен быть загружен выходной файл задачи или набор файлов. По умолчанию выполнение задач. |
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 |
Ссылка на идентификатор, назначенную пользователю для доступа к 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 |
Автоматический пользователь, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба. |
|
| username |
string |
Название идентификатора пользователя, под которым выполняется задача. Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба. |