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


TaskAddParameter Класс

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

Пакетная служба будет повторять задачи при запуске операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются ими), когда неработоспособный узел перезагружается или вычислительный узел исчез из-за сбоя узла. Повторные попытки из-за операций восстановления не зависят от maxTaskRetryCount и не учитываются. Даже если maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Поэтому все задачи должны быть идемпотентными. Это означает, что задачи должны допускать прерывание и перезапуск без повреждения или дублирования данных. Для длительных задач рекомендуется использовать определенную форму создания контрольных точек.

Для отправки в Azure необходимо заполнить все необходимые параметры.

Наследование
TaskAddParameter

Конструктор

TaskAddParameter(*, id: str, command_line: str, display_name: str = None, container_settings=None, exit_conditions=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, multi_instance_settings=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)

Параметры

id
str
Обязательно

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

display_name
str
Обязательно

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

command_line
str
Обязательно

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

container_settings
TaskContainerSettings
Обязательно

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

exit_conditions
ExitConditions
Обязательно

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

resource_files
list[ResourceFile]
Обязательно

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

output_files
list[OutputFile]
Обязательно

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

environment_settings
list[EnvironmentSetting]
Обязательно
affinity_info
AffinityInformation
Обязательно

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

constraints
TaskConstraints
Обязательно

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

required_slots
int
Обязательно

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

user_identity
UserIdentity
Обязательно

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

multi_instance_settings
MultiInstanceSettings
Обязательно

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

depends_on
TaskDependencies
Обязательно

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

application_package_references
list[ApplicationPackageReference]
Обязательно

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

authentication_token_settings
AuthenticationTokenSettings
Обязательно

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

Методы

as_dict

Возвращает диктовку, которая может иметь значение JSONify с помощью json.dump.

При дополнительном использовании можно использовать обратный вызов в качестве параметра:

Ключ — это имя атрибута, используемого в Python. Attr_desc — это диктовка метаданных. В настоящее время содержит тип с типом msrest и key с ключом в кодировке RestAPI. Значение — это текущее значение в этом объекте.

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

См. три примера в этом файле:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Если требуется сериализация XML, можно передать kwargs is_xml=True.

deserialize

Выполните синтаксический анализ str с помощью синтаксиса RestAPI и верните модель.

enable_additional_properties_sending
from_dict

Синтаксический анализ диктовки с помощью заданного средства извлечения ключей возвращает модель.

По умолчанию рекомендуется использовать средства извлечения ключей (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor и last_rest_key_case_insensitive_extractor).

is_xml_model
serialize

Возвращает json, который будет отправлен в Azure из этой модели.

Это псевдоним для as_dict(full_restapi_key_transformer, keep_readonly=False).

Если требуется сериализация XML, можно передать kwargs is_xml=True.

validate

Рекурсивная проверка модели и возврат списка ValidationError.

as_dict

Возвращает диктовку, которая может иметь значение JSONify с помощью json.dump.

При дополнительном использовании можно использовать обратный вызов в качестве параметра:

Ключ — это имя атрибута, используемого в Python. Attr_desc — это диктовка метаданных. В настоящее время содержит тип с типом msrest и key с ключом в кодировке RestAPI. Значение — это текущее значение в этом объекте.

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

См. три примера в этом файле:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Если требуется сериализация XML, можно передать kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Параметры

key_transformer
<xref:function>

Функция преобразователя ключей.

keep_readonly
значение по умолчанию: True

Возвращаемое значение

Объект, совместимый с JSON для диктовки

Возвращаемый тип

deserialize

Выполните синтаксический анализ str с помощью синтаксиса RestAPI и верните модель.

deserialize(data, content_type=None)

Параметры

data
str
Обязательно

Str, использующий структуру RestAPI. JSON по умолчанию.

content_type
str
значение по умолчанию: None

JSON по умолчанию задайте значение application/xml, если XML.

Возвращаемое значение

Экземпляр этой модели

Исключения

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Синтаксический анализ диктовки с помощью заданного средства извлечения ключей возвращает модель.

По умолчанию рекомендуется использовать средства извлечения ключей (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor и last_rest_key_case_insensitive_extractor).

from_dict(data, key_extractors=None, content_type=None)

Параметры

data
dict
Обязательно

Диктовка, использующий структуру RestAPI

content_type
str
значение по умолчанию: None

JSON по умолчанию задайте значение application/xml, если XML.

key_extractors
значение по умолчанию: None

Возвращаемое значение

Экземпляр этой модели

Исключения

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Возвращает json, который будет отправлен в Azure из этой модели.

Это псевдоним для as_dict(full_restapi_key_transformer, keep_readonly=False).

Если требуется сериализация XML, можно передать kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Параметры

keep_readonly
bool
значение по умолчанию: False

Если вы хотите сериализовать атрибуты только для чтения

Возвращаемое значение

Объект, совместимый с JSON для диктовки

Возвращаемый тип

validate

Рекурсивная проверка модели и возврат списка ValidationError.

validate()

Возвращаемое значение

Список ошибок проверки

Возвращаемый тип