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


Task - Add

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

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0

Параметры URI

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

string

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

jobId
path True

string

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

api-version
query True

string

Версия КЛИЕНТСКОго API.

timeout
query

integer

int32

Максимальное время, которое сервер может тратить на обработку запроса в секундах. Значение по умолчанию — 30 секунд. Если значение больше 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/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 является бесконечным, а время хранения — 7 дней.

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

Задачи, от которые зависит эта задача.
Эта задача не будет запланирована до тех пор, пока все задачи, от которых она зависит, успешно завершены. Если любой из этих задач завершается сбоем и исчерпает количество повторных попыток, эта задача никогда не будет запланирована. Если задание не использует значение trueTaskDependencies, и этот элемент присутствует, запрос завершается ошибкой с кодом 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

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

Заголовки

  • 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

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

Области

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

Authorization

Тип: apiKey
В: header

Примеры

Add a basic task
Add a container task with container data isolation
Add a container task with container data isolation bad request duplicate sources
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

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

Add a container task with container data isolation

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

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

Add a container task with container data isolation bad request duplicate sources

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "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"
    }
  }
}

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

Add a task with container settings

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

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

Add a task with exit conditions

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

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

Add a task with extra slot requirement

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

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

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

Определения

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

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

AffinityInformation

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

ApplicationPackageReference

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

AuthenticationTokenSettings

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

AutoUserScope

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

AutoUserSpecification

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

BatchError

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

BatchErrorDetail

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

ComputeNodeIdentityReference

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

ContainerHostBatchBindMountEntry

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

ContainerHostDataPath

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

ContainerRegistry

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

ContainerWorkingDirectory

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

DependencyAction

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

ElevationLevel

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

EnvironmentSetting

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

ErrorMessage

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

ExitCodeMapping

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

ExitCodeRangeMapping

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

ExitConditions

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

ExitOptions

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

HttpHeader

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

JobAction

Действие для выполнения задания, содержащего задачу, если задача завершается с заданным условием выхода и свойством Job 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

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

AuthenticationTokenSettings

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

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

AccessScope[]

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

AutoUserScope

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

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

string

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

task

string

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

AutoUserSpecification

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

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

ElevationLevel

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

scope

AutoUserScope

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

BatchError

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

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

string

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

message

ErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

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

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

string

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

value

string

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

ComputeNodeIdentityReference

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

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

string

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

ContainerHostBatchBindMountEntry

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

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

boolean

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

source

ContainerHostDataPath

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

ContainerHostDataPath

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

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

string

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

JobPrep

string

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

Shared

string

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

Startup

string

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

Task

string

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

VfsMounts

string

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

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

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

HttpHeader

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

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

string

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

value

string

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

JobAction

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

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

string

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

none

string

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

terminate

string

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

MultiInstanceSettings

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

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

ResourceFile[]

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

coordinationCommandLine

string

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

numberOfInstances

integer

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

OutputFile

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

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

OutputFileDestination

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

filePattern

string

Шаблон, указывающий, какие файлы нужно отправить.
Поддерживаются относительные и абсолютные пути. Относительные пути относятся к рабочему каталогу task. Поддерживаются следующие подстановочные знаки: * соответствует 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

OutputFileUploadOptions

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

OutputFileBlobContainerDestination

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

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

string

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

identityReference

ComputeNodeIdentityReference

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

path

string

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

uploadHeaders

HttpHeader[]

Список пар "имя-значение" для заголовков, используемых при отправке выходных файлов
Эти заголовки будут указаны при отправке файлов в службу хранилища Azure. Официальный документ по разрешенным заголовкам при отправке больших двоичных объектов: https://docs.microsoft.com/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, файлPath является обязательным и описывает путь, в который будет скачан файл, включая имя файла. В противном случае, если задано свойство 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/azure/batch/batch-compute-node-environment-variables).

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

Задачи, от которые зависит эта задача.
Эта задача не будет запланирована до тех пор, пока все задачи, от которых она зависит, успешно завершены. Если любой из этих задач завершается сбоем и исчерпает количество повторных попыток, эта задача никогда не будет запланирована. Если задание не использует значение trueTaskDependencies, и этот элемент присутствует, запрос завершается ошибкой с кодом 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

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

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

ContainerHostBatchBindMountEntry[]

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

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 являются взаимоисключающими; необходимо указать один, но не оба.