你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
CloudTask 类
Azure Batch任务。
在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括 (但不限于重新启动不正常的节点或计算节点因主机故障而消失时) 。 由于恢复操作导致的重试独立于 ,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 对于长时间运行的任务,最佳做法是使用某种形式的检查点。
- 继承
-
CloudTask
构造函数
CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)
参数
- url
- str
- e_tag
- str
这是一个不透明的字符串。 可以使用它来检测任务是否在请求之间发生了更改。 具体而言,可以在更新任务时传递 ETag,以指定仅当其他人在此期间没有修改该任务时所做的更改才生效。
- last_modified
- datetime
- creation_time
- datetime
- state_transition_time
- datetime
任务的上一状态。 如果 Task 处于初始活动状态,则不设置此属性。 可能的值包括:“active”、“preparing”、“running”、“completed”
- 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 无法访问这些文件。
- resource_files
- list[ResourceFile]
对于多实例任务,资源文件将仅下载到执行主任务的计算节点上。 资源文件列表有一个最大大小。 超过最大大小时,请求将失败,响应错误代码为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 集合的大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。
- environment_settings
- list[EnvironmentSetting]
- depends_on
- TaskDependencies
此任务所依赖的任务。 除非它所依赖的所有任务都成功完成,否则不会计划此任务。 如果其中任一任务失败并耗尽其重试计数,则永远不会计划此任务。
- 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。 请参阅此文件中的三个示例:
如果需要 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
返回
与 dict JSON 兼容的对象
返回类型
deserialize
使用 RestAPI 语法分析 str 并返回模型。
deserialize(data, content_type=None)
参数
返回
此模型的实例
例外
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)
参数
- key_extractors
返回
此模型的实例
例外
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)
参数
返回
与 dict JSON 兼容的对象
返回类型
validate
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈