Task - Add

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

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2023-11-01.18.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2023-11-01.18.0

Параметры URI

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

string

Базовый URL-адрес для всех запросов на обслуживание пакетная служба Azure.

jobId
path True

string

Идентификатор задания, к которому добавляется задача.

api-version
query True

string

Версия API клиента.

timeout
query

integer

int32

Максимальное время, которое сервер может потратить на обработку запроса, в секундах. По умолчанию это 30 секунд.

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

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

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

string

uuid

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

return-client-request-id

boolean

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

ocp-date

string

date-time-rfc1123

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

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

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

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

string

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

id True

string

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

affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

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

authenticationTokenSettings

AuthenticationTokenSettings

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

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

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

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

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

multiInstanceSettings

MultiInstanceSettings

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

outputFiles

OutputFile[]

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

requiredSlots

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

Ответы

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

Запрос к пакетной службе выполнен успешно.

Headers

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

BatchError

Ошибка пакетной службы.

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

azure_auth

Microsoft Entra поток кода проверки подлинности OAuth 2.0

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Имя Описание
user_impersonation Олицетворение учетной записи пользователя

Authorization

Type: apiKey
In: header

Примеры

Add a basic task
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with container settings

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with exit conditions

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with extra slot requirement

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Определения

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

Ресурсы пакетной службы, к которым маркер предоставляет доступ.

AffinityInformation

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

ApplicationPackageReference

Ссылка на пакет, развертываемый на вычислительных узлах.

AuthenticationTokenSettings

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

AutoUserScope

область для автоматического пользователя

AutoUserSpecification

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

BatchError

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

BatchErrorDetail

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

ComputeNodeIdentityReference

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

ContainerRegistry

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

ContainerWorkingDirectory

Расположение рабочего каталога задачи контейнера.

DependencyAction

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

ElevationLevel

Уровень повышения прав пользователя.

EnvironmentSetting

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

ErrorMessage

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

ExitCodeMapping

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

ExitCodeRangeMapping

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

ExitConditions

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

ExitOptions

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

HttpHeader

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

JobAction

Действие, выполняемое с заданием, содержащим задачу, если задача завершается с заданным условием выхода, а свойство задания onTaskFailed имеет значение "performExitOptionsJobAction".

MultiInstanceSettings

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

OutputFile

Спецификация для отправки файлов с вычислительного узла пакетная служба Azure в другое расположение после завершения выполнения задачи пакетной службой.

OutputFileBlobContainerDestination

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

OutputFileDestination

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

OutputFileUploadCondition

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

OutputFileUploadOptions

Сведения об операции отправки выходного файла, включая условия для выполнения отправки.

ResourceFile

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

TaskAddParameter

Добавляемая задача пакетная служба Azure.

TaskConstraints

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

TaskContainerSettings

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

TaskDependencies

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

TaskIdRange

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

UserIdentity

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

AccessScope

Ресурсы пакетной службы, к которым маркер предоставляет доступ.

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

string

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

AffinityInformation

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

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

string

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

ApplicationPackageReference

Ссылка на пакет, развертываемый на вычислительных узлах.

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

string

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

version

string

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

AuthenticationTokenSettings

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

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

AccessScope[]

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

AutoUserScope

область для автоматического пользователя

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

string

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

task

string

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

AutoUserSpecification

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

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

ElevationLevel

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

scope

AutoUserScope

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

BatchError

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

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

string

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

message

ErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

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

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

string

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

value

string

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

ComputeNodeIdentityReference

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

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

string

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

ContainerRegistry

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

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

ComputeNodeIdentityReference

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

password

string

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

registryServer

string

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

username

string

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

ContainerWorkingDirectory

Расположение рабочего каталога задачи контейнера.

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

string

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

taskWorkingDirectory

string

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

DependencyAction

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

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

string

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

satisfy

string

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

ElevationLevel

Уровень повышения прав пользователя.

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

string

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

nonadmin

string

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

EnvironmentSetting

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

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

string

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

value

string

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

ErrorMessage

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

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

string

Код языка сообщения об ошибке

value

string

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

ExitCodeMapping

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

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

integer

Код завершения процесса.

exitOptions

ExitOptions

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

ExitCodeRangeMapping

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

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

integer

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

exitOptions

ExitOptions

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

start

integer

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

ExitConditions

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

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

ExitOptions

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

exitCodeRanges

ExitCodeRangeMapping[]

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

exitCodes

ExitCodeMapping[]

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

fileUploadError

ExitOptions

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

preProcessingError

ExitOptions

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

ExitOptions

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

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

DependencyAction

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

jobAction

JobAction

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

HttpHeader

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

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

string

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

value

string

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

JobAction

Действие, выполняемое с заданием, содержащим задачу, если задача завершается с заданным условием выхода, а свойство задания onTaskFailed имеет значение "performExitOptionsJobAction".

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

string

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

none

string

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

terminate

string

Завершите задание. Параметр terminateReason в параметре executionInfo задания имеет значение TaskFailed.

MultiInstanceSettings

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

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

ResourceFile[]

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

coordinationCommandLine

string

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

numberOfInstances

integer

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

OutputFile

Спецификация для отправки файлов с вычислительного узла пакетная служба Azure в другое расположение после завершения выполнения задачи пакетной службой.

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

OutputFileDestination

Назначение для выходных файлов.

filePattern

string

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

uploadOptions

OutputFileUploadOptions

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

OutputFileBlobContainerDestination

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

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

string

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

identityReference

ComputeNodeIdentityReference

Ссылка на назначенное пользователем удостоверение, используемое для доступа к Хранилище BLOB-объектов Azure, указанному containerUrl.
Удостоверение должно иметь доступ на запись к контейнеру Хранилище BLOB-объектов Azure

path

string

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

uploadHeaders

HttpHeader[]

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

OutputFileDestination

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

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

OutputFileBlobContainerDestination

Расположение в хранилище BLOB-объектов Azure, в которое отправляются файлы.

OutputFileUploadCondition

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

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

string

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

taskfailure

string

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

tasksuccess

string

Отправляйте файлы только после завершения процесса задачи с кодом выхода 0.

OutputFileUploadOptions

Сведения об операции отправки выходного файла, включая условия для выполнения отправки.

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

OutputFileUploadCondition

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

ResourceFile

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

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

string

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

blobPrefix

string

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

fileMode

string

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

filePath

string

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

httpUrl

string

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

identityReference

ComputeNodeIdentityReference

Ссылка на назначенное пользователем удостоверение, используемое для доступа к Хранилище BLOB-объектов Azure, указанному storageContainerUrl или httpUrl.
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.

storageContainerUrl

string

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

TaskAddParameter

Добавляемая задача пакетная служба Azure.

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

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

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

authenticationTokenSettings

AuthenticationTokenSettings

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

commandLine

string

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

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

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

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

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

id

string

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

multiInstanceSettings

MultiInstanceSettings

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

outputFiles

OutputFile[]

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

requiredSlots

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

TaskConstraints

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

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

integer

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

maxWallClockTime

string

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

retentionTime

string

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

TaskContainerSettings

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

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

string

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

imageName

string

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

registry

ContainerRegistry

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

workingDirectory

ContainerWorkingDirectory

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

TaskDependencies

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

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

TaskIdRange[]

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

taskIds

string[]

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

TaskIdRange

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

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

integer

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

start

integer

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

UserIdentity

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

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

AutoUserSpecification

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

username

string

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