你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TaskAddParameter 类

要添加Azure Batch任务。

在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括 (但不限于在重新启动不正常的节点或计算节点因主机故障而消失时) 。 由于恢复操作而导致的重试独立于 ,并且不计入 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
必需

必需。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 ID 是保留大小写且不区分大小写 (也就是说,作业中可能没有两个 ID,这些 ID 仅因大小写) 不同。

display_name
str
必需

显示名称不必是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。

command_line
str
必需

必需。 对于多实例任务,在主任务和所有子任务完成协调命令行执行后,命令行将作为主任务执行。 命令行不在 shell 下运行,因此无法利用 shell 功能,例如环境变量扩展。 如果要利用此类功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对于 Task 工作目录) (相对路径,或使用 Batch 提供的环境变量 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) 。

container_settings
TaskContainerSettings
必需

运行 Task 的容器的设置。 如果将运行此任务的池具有 containerConfiguration 集,则还必须设置此设置。 如果将运行此任务的池没有 containerConfiguration 设置,则不得设置此设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR (节点上 Azure Batch) 目录的根目录以递归方式映射到容器中,所有 Task 环境变量都映射到容器中,并在容器中执行 Task 命令行。 AZ_BATCH_NODE_ROOT_DIR 之外的容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 无法访问这些文件。

exit_conditions
ExitConditions
必需

Batch 服务在任务完成时应如何响应。

resource_files
list[ResourceFile]
必需

对于多实例任务,资源文件将仅下载到执行主任务的计算节点上。 资源文件列表有一个最大大小。 超过最大大小时,请求将失败,响应错误代码为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 集合的大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。

output_files
list[OutputFile]
必需

对于多实例任务,文件将仅从执行主任务的计算节点上传。

environment_settings
list[EnvironmentSetting]
必需
affinity_info
AffinityInformation
必需

可供 Batch 服务用来选择要启动新任务的计算节点的区域提示。

constraints
TaskConstraints
必需

应用于此任务的执行约束。 如果未指定约束,则 maxTaskRetryCount 是为作业指定的 maxTaskRetryCount,maxWallClockTime 为无限期,retentionTime 为 7 天。

required_slots
int
必需

任务运行所需的计划槽数。 默认值为 1。 如果任务有足够的可用计划槽,则只能将任务计划为在计算节点上运行。 对于多实例任务,这必须为 1。

user_identity
UserIdentity
必需

运行 Task 时所依据的用户标识。 如果省略,则任务将作为 Task 唯一的非管理用户运行。

multi_instance_settings
MultiInstanceSettings
必需

一个 对象,指示 Task 是一个多实例 Task,并包含有关如何运行多实例 Task 的信息。

depends_on
TaskDependencies
必需

此任务所依赖的任务。 除非它所依赖的所有任务都成功完成,否则不会计划此任务。 如果其中任一任务失败并耗尽其重试计数,则永远不会计划此任务。 如果作业未将 usesTaskDependencies 设置为 true,并且存在此元素,则请求将失败并显示错误代码 TaskDependenciesNotSpecifiedOnJob。

application_package_references
list[ApplicationPackageReference]
必需

应用程序包下载并部署到共享目录,而不是任务工作目录。 因此,如果引用的包已在节点上并且是最新的,则不会重新下载;使用计算节点上的现有副本。 如果无法安装引用的包,例如,因为包已被删除或下载失败,则任务会失败。

authentication_token_settings
AuthenticationTokenSettings
必需

任务可用于执行 Batch 服务操作的身份验证令牌的设置。 如果设置了此属性,Batch 服务将为 Task 提供一个身份验证令牌,该令牌可用于对 Batch 服务操作进行身份验证,而无需帐户访问密钥。 令牌通过 AZ_BATCH_AUTHENTICATION_TOKEN 环境变量提供。 任务可以使用令牌执行的操作取决于设置。 例如,任务可以请求作业权限,以便将其他任务添加到作业,或检查作业或作业下其他任务的状态。

方法

as_dict

使用 json.dump 返回可以是 JSONify 的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码密钥的“key”。 Value 是此 对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果 dict。

请参阅此文件中的三个示例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

deserialize

使用 RestAPI 语法分析 str 并返回模型。

enable_additional_properties_sending
from_dict

使用给定的键提取程序分析 dict 会返回模型。

默认情况下,请考虑密钥提取程序 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

返回将从此模型发送到 Azure 的 JSON。

这是 as_dict (full_restapi_key_transformer 的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

validate

以递归方式验证此模型,并返回 ValidationError 列表。

as_dict

使用 json.dump 返回可以是 JSONify 的 dict。

高级用法可以选择使用回调作为参数:

Key 是 Python 中使用的属性名称。 Attr_desc是元数据的一个听写。 当前包含具有 msrest 类型的“type”和包含 RestAPI 编码密钥的“key”。 Value 是此 对象中的当前值。

返回的字符串将用于序列化密钥。 如果返回类型是列表,则这被视为分层结果 dict。

请参阅此文件中的三个示例:

  • 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

返回

与 dict JSON 兼容的对象

返回类型

deserialize

使用 RestAPI 语法分析 str 并返回模型。

deserialize(data, content_type=None)

参数

data
str
必需

使用 RestAPI 结构的 str。 默认情况下为 JSON。

content_type
str
默认值: None

默认情况下,如果为 XML,则设置 application/xml。

返回

此模型的实例

例外

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

使用给定的键提取程序分析 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 结构的 dict

content_type
str
默认值: None

默认情况下,如果为 XML,则设置 application/xml。

key_extractors
默认值: None

返回

此模型的实例

例外

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

返回将从此模型发送到 Azure 的 JSON。

这是 as_dict (full_restapi_key_transformer 的别名 ,keep_readonly=False)

如果需要 XML 序列化,可以传递 kwargs is_xml=True。

serialize(keep_readonly=False, **kwargs)

参数

keep_readonly
bool
默认值: False

如果要序列化只读属性

返回

与 dict JSON 兼容的对象

返回类型

validate

以递归方式验证此模型,并返回 ValidationError 列表。

validate()

返回

验证错误列表

返回类型