通过


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

BatchJobManagerTaskOutput interface

指定作业管理器任务的详细信息。 作业管理器任务在创建作业时自动启动。 Batch 服务尝试在作业中的任何其他任务之前计划作业管理器任务。 收缩池时,Batch 服务会尝试保留尽可能长时间运行作业管理器任务的节点(即运行“正常”任务的计算节点在运行作业管理器任务的计算节点之前删除)。 当作业管理器任务失败且需要重启时,系统会尝试以最高优先级计划它。 如果没有空闲的计算节点可用,系统可能会终止池中正在运行的任务之一,并将其返回到队列,以便为作业管理器任务重启腾出空间。 请注意,一个作业中的作业管理器任务不优先于其他作业中的任务。 跨作业,只观察到作业级别优先级。 例如,如果优先级为 0 的作业管理器需要重新启动,则它不会取代优先级 1 作业的任务。 当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。

属性

allowLowPriorityNode

作业管理器任务是否可以在现成/低优先级计算节点上运行。 默认值为 true。

applicationPackageReferences

Batch 服务在运行命令行之前将部署到计算节点的应用程序包列表。应用程序包将下载并部署到共享目录,而不是任务工作目录。 因此,如果引用的应用程序包已在计算节点上,并且是最新的,则不会重新下载它;使用计算节点上的现有副本。 如果无法安装引用的应用程序包,例如由于包已删除或下载失败,则任务将失败。

authenticationTokenSettings

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

commandLine

作业管理器任务的命令行。 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对路径(相对于任务工作目录),或使用 Batch 提供的环境变量(https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。

constraints

应用于作业管理器任务的约束。

containerSettings

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

displayName

作业管理器任务的显示名称。 它不是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。

environmentSettings

作业管理器任务的环境变量设置列表。

id

一个字符串,用于唯一标识作业中的作业管理器任务。 ID 可以包含字母数字字符的任意组合,包括连字符和下划线,不能包含超过 64 个字符。

killJobOnCompletion

作业管理器任务的完成是否表示整个作业的完成。 如果为 true,则当作业管理器任务完成时,Batch 服务会将作业标记为已完成。 如果当前仍在运行任何任务(作业发布除外),这些任务将终止。 如果为 false,则作业管理器任务的完成不会影响作业状态。 在这种情况下,应使用 onAllTasksComplete 属性终止作业,或者让客户端或用户显式终止作业。 例如,如果作业管理器创建了一组任务,但在执行中没有进一步的角色。 默认值为 true。 如果使用 onAllTasksComplete 和 onTaskFailure 属性来控制作业生存期,并使用作业管理器任务仅创建作业的任务(不监视进度),则必须将 killJobOnCompletion 设置为 false。

outputFiles

运行命令行后,Batch 服务将从计算节点上传的文件列表。 对于多实例任务,文件将仅从执行主任务的计算节点上传。

requiredSlots

任务运行所需的计划槽数。 默认值为 1。 如果节点有足够的可用计划槽,则只能计划任务在计算节点上运行。 对于多实例任务,此属性不受支持,不得指定。

resourceFiles

Batch 服务在运行命令行之前将下载到计算节点的文件列表。 此元素下列出的文件位于任务的工作目录中。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。

runExclusive

作业管理器任务是否需要独占使用其运行位置的计算节点。 如果为 true,则只要作业管理器正在运行,其他任务就不会在同一节点上运行。 如果为 false,则其他任务可以在计算节点上与作业管理器同时运行。 作业管理器任务通常根据计算节点的并发任务限制进行计数,因此仅当计算节点允许多个并发任务时,这才相关。 默认值为 true。

userIdentity

运行作业管理器任务的用户标识。 如果省略,任务将作为任务唯一的非管理用户运行。

属性详细信息

allowLowPriorityNode

作业管理器任务是否可以在现成/低优先级计算节点上运行。 默认值为 true。

allowLowPriorityNode?: boolean

属性值

boolean

applicationPackageReferences

Batch 服务在运行命令行之前将部署到计算节点的应用程序包列表。应用程序包将下载并部署到共享目录,而不是任务工作目录。 因此,如果引用的应用程序包已在计算节点上,并且是最新的,则不会重新下载它;使用计算节点上的现有副本。 如果无法安装引用的应用程序包,例如由于包已删除或下载失败,则任务将失败。

applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]

属性值

authenticationTokenSettings

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

authenticationTokenSettings?: AuthenticationTokenSettingsOutput

属性值

commandLine

作业管理器任务的命令行。 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对路径(相对于任务工作目录),或使用 Batch 提供的环境变量(https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。

commandLine: string

属性值

string

constraints

应用于作业管理器任务的约束。

constraints?: BatchTaskConstraintsOutput

属性值

containerSettings

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

containerSettings?: BatchTaskContainerSettingsOutput

属性值

displayName

作业管理器任务的显示名称。 它不是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。

displayName?: string

属性值

string

environmentSettings

作业管理器任务的环境变量设置列表。

environmentSettings?: EnvironmentSettingOutput[]

属性值

id

一个字符串,用于唯一标识作业中的作业管理器任务。 ID 可以包含字母数字字符的任意组合,包括连字符和下划线,不能包含超过 64 个字符。

id: string

属性值

string

killJobOnCompletion

作业管理器任务的完成是否表示整个作业的完成。 如果为 true,则当作业管理器任务完成时,Batch 服务会将作业标记为已完成。 如果当前仍在运行任何任务(作业发布除外),这些任务将终止。 如果为 false,则作业管理器任务的完成不会影响作业状态。 在这种情况下,应使用 onAllTasksComplete 属性终止作业,或者让客户端或用户显式终止作业。 例如,如果作业管理器创建了一组任务,但在执行中没有进一步的角色。 默认值为 true。 如果使用 onAllTasksComplete 和 onTaskFailure 属性来控制作业生存期,并使用作业管理器任务仅创建作业的任务(不监视进度),则必须将 killJobOnCompletion 设置为 false。

killJobOnCompletion?: boolean

属性值

boolean

outputFiles

运行命令行后,Batch 服务将从计算节点上传的文件列表。 对于多实例任务,文件将仅从执行主任务的计算节点上传。

outputFiles?: OutputFileOutput[]

属性值

requiredSlots

任务运行所需的计划槽数。 默认值为 1。 如果节点有足够的可用计划槽,则只能计划任务在计算节点上运行。 对于多实例任务,此属性不受支持,不得指定。

requiredSlots?: number

属性值

number

resourceFiles

Batch 服务在运行命令行之前将下载到计算节点的文件列表。 此元素下列出的文件位于任务的工作目录中。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。

resourceFiles?: ResourceFileOutput[]

属性值

runExclusive

作业管理器任务是否需要独占使用其运行位置的计算节点。 如果为 true,则只要作业管理器正在运行,其他任务就不会在同一节点上运行。 如果为 false,则其他任务可以在计算节点上与作业管理器同时运行。 作业管理器任务通常根据计算节点的并发任务限制进行计数,因此仅当计算节点允许多个并发任务时,这才相关。 默认值为 true。

runExclusive?: boolean

属性值

boolean

userIdentity

运行作业管理器任务的用户标识。 如果省略,任务将作为任务唯一的非管理用户运行。

userIdentity?: UserIdentityOutput

属性值