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

BatchTask interface

当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。

属性

affinityInfo

一个局部性提示,批处理服务可以用来选择一个计算节点来启动新任务。

applicationPackageReferences

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

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目录根)下方的所有目录递归映射到容器中,所有任务环境变量映射到容器中,任务命令行在容器中执行。 容器中AZ_BATCH_NODE_ROOT_DIR外生成的文件可能不会反映到主机磁盘,这意味着批处理文件API无法访问这些文件。

creationTime

任务的创建时间。

dependsOn

这项任务所依赖的任务。 该任务在所有依赖任务成功完成后才会被调度。 如果这些任务中的任何一个失败并用尽重试次数,该任务将永远不会被安排。

displayName

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

environmentSettings

任务的环境变量设置列表。

eTag

任务的ETag。 这是一个不透明的字符串。 你可以用它检测任务在请求之间是否发生了变化。 特别是,在更新任务时,你可以通过ETag,指定只有在没有其他人修改该任务时,你的更改才会生效。

executionInfo

关于任务执行的信息。

exitConditions

任务完成时批处理服务应如何响应。

id

一个唯一标识任务的字符串。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。

lastModified

任务的最后修正时间。

multiInstanceSettings

一个表示任务是多实例任务的对象,包含如何运行多实例任务的信息。

nodeInfo

关于任务运行的计算节点的信息。

outputFiles

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

previousState

任务的前一阶段。 如果任务处于初始活跃状态,则该属性不被设置。

previousStateTransitionTime

任务进入之前状态的时间点。 如果任务处于初始活跃状态,则该属性不被设置。

requiredSlots

任务运行所需的调度时隙数。 默认值为 1。 只有当节点有足够的空闲调度槽时,任务才能被调度到计算节点上运行。 对于多实例任务,这必须是1.

resourceFiles

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

state

任务的现状。

stateTransitionTime

任务进入当前状态的时间。

taskStatistics

任务的资源使用统计数据。

url

任务的网址。

userIdentity

任务运行的用户身份。 如果省略,任务将作为任务独一无二的非管理员用户运行。

属性详细信息

affinityInfo

一个局部性提示,批处理服务可以用来选择一个计算节点来启动新任务。

affinityInfo?: BatchAffinityInfo

属性值

applicationPackageReferences

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

applicationPackageReferences?: BatchApplicationPackageReference[]

属性值

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?: BatchTaskConstraints

属性值

containerSettings

任务运行容器的设置。 如果执行该任务的池设置了containerConfiguration,也必须设置。 如果执行该任务的池没有设置 containerConfiguration ,那么必须不设置。 当指定时,所有位于AZ_BATCH_NODE_ROOT_DIR(节点上Azure Batch目录根)下方的所有目录递归映射到容器中,所有任务环境变量映射到容器中,任务命令行在容器中执行。 容器中AZ_BATCH_NODE_ROOT_DIR外生成的文件可能不会反映到主机磁盘,这意味着批处理文件API无法访问这些文件。

containerSettings?: BatchTaskContainerSettings

属性值

creationTime

任务的创建时间。

creationTime: Date

属性值

Date

dependsOn

这项任务所依赖的任务。 该任务在所有依赖任务成功完成后才会被调度。 如果这些任务中的任何一个失败并用尽重试次数,该任务将永远不会被安排。

dependsOn?: BatchTaskDependencies

属性值

displayName

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

displayName?: string

属性值

string

environmentSettings

任务的环境变量设置列表。

environmentSettings?: EnvironmentSetting[]

属性值

eTag

任务的ETag。 这是一个不透明的字符串。 你可以用它检测任务在请求之间是否发生了变化。 特别是,在更新任务时,你可以通过ETag,指定只有在没有其他人修改该任务时,你的更改才会生效。

eTag: string

属性值

string

executionInfo

关于任务执行的信息。

executionInfo?: BatchTaskExecutionInfo

属性值

exitConditions

任务完成时批处理服务应如何响应。

exitConditions?: ExitConditions

属性值

id

一个唯一标识任务的字符串。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。

id: string

属性值

string

lastModified

任务的最后修正时间。

lastModified: Date

属性值

Date

multiInstanceSettings

一个表示任务是多实例任务的对象,包含如何运行多实例任务的信息。

multiInstanceSettings?: MultiInstanceSettings

属性值

nodeInfo

关于任务运行的计算节点的信息。

nodeInfo?: BatchNodeInfo

属性值

outputFiles

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

outputFiles?: OutputFile[]

属性值

previousState

任务的前一阶段。 如果任务处于初始活跃状态,则该属性不被设置。

previousState?: BatchTaskState

属性值

previousStateTransitionTime

任务进入之前状态的时间点。 如果任务处于初始活跃状态,则该属性不被设置。

previousStateTransitionTime?: Date

属性值

Date

requiredSlots

任务运行所需的调度时隙数。 默认值为 1。 只有当节点有足够的空闲调度槽时,任务才能被调度到计算节点上运行。 对于多实例任务,这必须是1.

requiredSlots?: number

属性值

number

resourceFiles

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

resourceFiles?: ResourceFile[]

属性值

state

任务的现状。

state: BatchTaskState

属性值

stateTransitionTime

任务进入当前状态的时间。

stateTransitionTime: Date

属性值

Date

taskStatistics

任务的资源使用统计数据。

taskStatistics?: BatchTaskStatistics

属性值

url

任务的网址。

url: string

属性值

string

userIdentity

任务运行的用户身份。 如果省略,任务将作为任务独一无二的非管理员用户运行。

userIdentity?: UserIdentity

属性值