Tasks - Get Task
获取指定任务的信息。
对于多实例任务,affinityId、executionInfo 和 nodeInfo 等信息指代主任务。 使用列表子任务 API 来获取子任务的信息。
GET {endpoint}/jobs/{jobId}/tasks/{taskId}?api-version=2025-06-01
GET {endpoint}/jobs/{jobId}/tasks/{taskId}?api-version=2025-06-01&timeOut={timeOut}&$select={$select}&$expand={$expand}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Batch 帐户终结点(例如:https://batchaccount.eastus2.batch.azure.com)。 |
|
job
|
path | True |
string |
包含该任务的作业ID。 |
|
task
|
path | True |
string |
任务的ID以获取信息。 |
|
api-version
|
query | True |
string minLength: 1 |
要用于此操作的 API 版本。 |
|
$expand
|
query |
string[] |
OData $expand 子句。 |
|
|
$select
|
query |
string[] |
OData $select 子句。 |
|
|
time
|
query |
integer (int32) |
服务器处理请求的最长时间(以秒为单位)。 默认为 30 秒。 如果值大于30,则使用默认值。” |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| client-request-id |
string |
调用方生成的请求标识,采用不带大括号的 GUID 形式,例如 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0。 |
|
| return-client-request-id |
boolean |
服务器是否应在响应中返回 client-request-id。 |
|
| ocp-date |
string (date-time-rfc7231) |
发出请求的时间。 客户端库通常将此设置为当前的系统时钟时间;如果直接调用 REST API,请显式设置它。 |
|
| If-Modified-Since |
string (date-time-rfc7231) |
一个时间戳,指示客户端已知资源的上次修改时间。 仅当服务上的资源自指定时间以来已修改时,才会执行该操作。 |
|
| If-Unmodified-Since |
string (date-time-rfc7231) |
一个时间戳,指示客户端已知资源的上次修改时间。 仅当服务上的资源自指定时间以来尚未修改时,才会执行该作。 |
|
| If-Match |
string |
与客户端已知的资源版本关联的 ETag 值。 仅当服务的当前 ETag 与客户端指定的值完全匹配时,才会执行该操作。 |
|
| If-None-Match |
string |
与客户端已知的资源版本关联的 ETag 值。 仅当服务的当前 ETag 与客户端指定的值不匹配时,才会执行该操作。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求已成功。 标头
|
|
| Other Status Codes |
意外错误响应。 |
安全性
OAuth2Auth
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
作用域
| 名称 | 说明 |
|---|---|
| https://batch.core.windows.net//.default |
示例
Task get
示例请求
GET {endpoint}/jobs/jobId/tasks/taskId?api-version=2025-06-01
示例响应
{
"id": "testTask",
"url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId",
"eTag": "0x8D3D62350711C55",
"creationTime": "2025-09-06T06:59:15.1161429Z",
"lastModified": "2025-09-06T06:59:15.1161429Z",
"state": "active",
"stateTransitionTime": "2025-09-06T06:59:15.1161429Z",
"commandLine": "cmd /c hostname",
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
},
"multiInstanceSettings": {
"numberOfInstances": 3,
"coordinationCommandLine": "cmd /c echo coordinating"
},
"constraints": {
"maxWallClockTime": "P10675199DT2H48M5.4775807S",
"retentionTime": "P10675199DT2H48M5.4775807S",
"maxTaskRetryCount": 0
},
"requiredSlots": 2,
"executionInfo": {
"retryCount": 0,
"requeueCount": 0
}
}
定义
| 名称 | 说明 |
|---|---|
|
Authentication |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 |
|
Auto |
AutoUserScope 枚举 |
|
Auto |
指定运行 Azure Batch 任务的自动用户的选项。 |
|
Batch |
BatchAccessScope 枚举 |
|
Batch |
Batch 服务可以使用的区域提示选择要在其中启动任务的计算节点。 |
|
Batch |
对要部署到计算节点的包的引用。 |
|
Batch |
从 Azure Batch 服务收到的错误响应。 |
|
Batch |
Azure Batch 错误响应中包含的附加信息项。 |
|
Batch |
Azure Batch 错误响应中收到的错误消息。 |
|
Batch |
BatchErrorSourceCategory 枚举 |
|
Batch |
BatchJobAction 枚举 |
|
Batch |
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。 |
|
Batch |
有关运行任务的计算节点的信息。 |
|
Batch |
当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。 |
|
Batch |
要应用于任务的执行约束。 |
|
Batch |
包含有关任务正在执行的容器的信息。 |
|
Batch |
任务的容器设置。 |
|
Batch |
指定任务的任何依赖项。 显式指定或依赖范围内的任何任务都必须在计划依赖任务之前完成。 |
|
Batch |
有关任务执行的信息。 |
|
Batch |
BatchTaskExecutionResult 枚举 |
|
Batch |
有关任务失败的信息。 |
|
Batch |
范围的开始和结束是包容性的。 例如,如果某个范围具有 9 开始和结束 12,则表示任务“9”、“10”、“11”和“12”。 |
|
Batch |
BatchTaskState 枚举 |
|
Batch |
任务的资源使用情况统计信息。 |
|
Container |
要装载到任务容器的路径和装载模式的条目。 |
|
Container |
将装载到容器任务的容器的路径。 |
|
Container |
专用容器注册表。 |
|
Container |
ContainerWorkingDirectory 枚举 |
|
Dependency |
DependencyAction 枚举 |
|
Elevation |
高程层枚举 |
|
Environment |
要对任务进程设置的环境变量。 |
|
Exit |
如果任务使用特定的退出代码退出,Batch 服务应如何响应。 |
|
Exit |
一系列退出代码以及 Batch 服务应如何响应该范围内的退出代码。 |
|
Exit |
指定 Batch 服务在任务完成时应如何响应。 |
|
Exit |
指定 Batch 服务如何响应特定的退出条件。 |
|
Multi |
多实例任务通常用于支持 MPI 任务。 在 MPI 情况下,如果任何子任务都失败(例如由于退出并包含非零退出代码),则整个多实例任务会失败。 然后终止并重试多实例任务,达到其重试限制。 |
|
Name |
表示名称/值对。 |
|
Output |
每次上传文件时,Batch 服务都会将两个日志文件写入计算节点“fileuploadout.txt”和“fileuploaderr.txt”。 这些日志文件用于了解有关特定故障的详细信息。 |
|
Output |
指定 Azure Blob 存储容器中的文件上传目标。 |
|
Output |
文件应上传到的目标。 |
|
Output |
OutputFileUploadCondition 枚举 |
|
Output |
输出文件上传操作的选项,包括执行上传的条件。 |
|
Output |
HTTP 标头名称值对 |
|
Resource |
要下载到计算节点的单个文件或多个文件。 |
|
User |
运行任务的用户标识的定义。 指定 userName 或 autoUser 属性,但不能同时指定这两者。 |
AuthenticationTokenSettings
任务可用于执行 Batch 服务操作的身份验证令牌的设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| access |
批处理资源,令牌授予访问权限。 认证令牌允许访问有限的批处理服务作。 目前访问属性唯一支持的值是“job”,它允许访问包含该任务的所有与作业相关的作。 |
AutoUserScope
AutoUserScope 枚举
| 值 | 说明 |
|---|---|
| task |
指定服务应为该任务创建新用户。 |
| pool |
指定任务作为公共自动用户账户运行,该账户在池中的每个计算节点创建。 |
AutoUserSpecification
指定运行 Azure Batch 任务的自动用户的选项。
| 名称 | 类型 | 说明 |
|---|---|---|
| elevationLevel |
自动用户的提升级别。 默认值为 nonAdmin。 |
|
| scope |
自动用户的范围。 默认值为池。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式更改注册表。 |
BatchAccessScope
BatchAccessScope 枚举
| 值 | 说明 |
|---|---|
| job |
允许对包含该任务的作业执行所有作。 |
BatchAffinityInfo
Batch 服务可以使用的区域提示选择要在其中启动任务的计算节点。
| 名称 | 类型 | 说明 |
|---|---|---|
| affinityId |
string |
一个不透明的字符串,表示计算节点或之前运行过的任务的位置。 你可以传递节点的affinityId,表示该任务需要在该计算节点上运行。 请注意,这只是软相关性。 如果目标计算节点在计划任务时繁忙或不可用,则任务将在其他位置进行计划。 |
BatchApplicationPackageReference
对要部署到计算节点的包的引用。
| 名称 | 类型 | 说明 |
|---|---|---|
| applicationId |
string |
部署应用的ID。 创建池时,包的应用程序 ID 必须完全限定(/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName})。 |
| version |
string |
要部署的应用程序的版本。 如果省略,则部署默认版本。 如果池中省略了这一点,且该应用未指定默认版本,请求将失败,错误代码为 InvalidApplicationPackageReferences 和 HTTP 状态代码 409。 如果任务中省略了这一点,且该应用未指定默认版本,任务将因预处理错误而失败。 |
BatchError
从 Azure Batch 服务收到的错误响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
错误的标识符。 代码是固定的,旨在以编程方式使用。 |
| message |
描述错误的消息,旨在适合在用户界面中显示。 |
|
| values |
包含有关错误的更多详细信息的键值对的集合。 |
BatchErrorDetail
Azure Batch 错误响应中包含的附加信息项。
| 名称 | 类型 | 说明 |
|---|---|---|
| key |
string |
指定 Value 属性含义的标识符。 |
| value |
string |
错误响应附带的其他信息。 |
BatchErrorMessage
Azure Batch 错误响应中收到的错误消息。
| 名称 | 类型 | 说明 |
|---|---|---|
| lang |
string |
错误消息的语言代码。 |
| value |
string |
消息的文本。 |
BatchErrorSourceCategory
BatchErrorSourceCategory 枚举
| 值 | 说明 |
|---|---|
| usererror |
错误是由于用户问题,比如配置错误。 |
| servererror |
错误是由于服务器内部出现问题。 |
BatchJobActionKind
BatchJobAction 枚举
| 值 | 说明 |
|---|---|
| none |
不执行任何作。 |
| disable |
关闭工作。 这相当于调用 disable Job API,但 disableTasks 值为 requeue。 |
| terminate |
终止这份工作。 作业执行信息中的终止原因设置为“任务失败”。 |
BatchNodeIdentityReference
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。
| 名称 | 类型 | 说明 |
|---|---|---|
| resourceId |
string (arm-id) |
用户分配标识的 ARM 资源 ID。 |
BatchNodeInfo
有关运行任务的计算节点的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| affinityId |
string |
任务运行的节点标识符,可在添加任务请求调度该计算节点时传递。 |
| nodeId |
string |
任务运行的计算节点的ID。 |
| nodeUrl |
string (uri) |
任务运行的计算节点的URL。 |
| poolId |
string |
任务运行池的ID。 |
| taskRootDirectory |
string |
任务在计算节点上的根目录。 |
| taskRootDirectoryUrl |
string (uri) |
任务在计算节点上的根目录的URL。 |
BatchTask
当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。
| 名称 | 类型 | 说明 |
|---|---|---|
| affinityInfo |
一个局部性提示,批处理服务可以用来选择一个计算节点来启动新任务。 |
|
| applicationPackageReferences |
批处理服务在运行命令行前将部署到计算节点的包列表。 应用包是下载并部署到共享目录,而不是任务工作目录。 因此,如果引用包已经在节点上且是最新的,则不会重新下载;使用计算节点上的现有副本。 如果引用的包无法安装,例如因为包被删除或下载失败,任务即失败。 |
|
| authenticationTokenSettings |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 如果设置了该属性,批处理服务会为任务提供认证令牌,用于验证批处理作,无需账户访问密钥。 令牌通过AZ_BATCH_AUTHENTICATION_TOKEN环境变量提供。 任务能使用令牌执行的作取决于设置。 例如,任务可以请求作业权限以添加其他任务,或检查作业或作业下其他任务的状态。 |
|
| commandLine |
string |
任务的命令行。 对于多实例任务,命令行作为主任务执行,前提是主任务和所有子任务都完成协调命令行的执行。 命令行未在 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 |
string (date-time) |
任务的创建时间。 |
| dependsOn |
这项任务所依赖的任务。 该任务在所有依赖任务成功完成后才会被调度。 如果这些任务中的任何一个失败并用尽重试次数,该任务将永远不会被安排。 |
|
| displayName |
string |
任务的显示名称。 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。 |
| eTag |
string |
任务的ETag。 这是一个不透明的字符串。 你可以用它检测任务在请求之间是否发生了变化。 特别是,在更新任务时,你可以通过ETag,指定只有在没有其他人修改该任务时,你的更改才会生效。 |
| environmentSettings |
任务的环境变量设置列表。 |
|
| executionInfo |
关于任务执行的信息。 |
|
| exitConditions |
任务完成时批处理服务应如何响应。 |
|
| id |
string |
一个唯一标识任务的字符串。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 |
| lastModified |
string (date-time) |
任务的最后修正时间。 |
| multiInstanceSettings |
一个表示任务是多实例任务的对象,包含如何运行多实例任务的信息。 |
|
| nodeInfo |
关于任务运行的计算节点的信息。 |
|
| outputFiles |
批处理服务运行命令行后,将从计算节点上传的文件列表。 对于多实例任务,文件只会从执行主任务的计算节点上传。 |
|
| previousState |
任务的前一阶段。 如果任务处于初始活跃状态,则该属性不被设置。 |
|
| previousStateTransitionTime |
string (date-time) |
任务进入之前状态的时间点。 如果任务处于初始活跃状态,则该属性不被设置。 |
| requiredSlots |
integer (int32) |
任务运行所需的调度时隙数。 默认值为 1。 只有当节点有足够的空闲调度槽时,任务才能被调度到计算节点上运行。 对于多实例任务,这必须是1. |
| resourceFiles |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 对于多实例任务,资源文件只会下载到执行主任务的计算节点。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 |
|
| state |
任务的现状。 |
|
| stateTransitionTime |
string (date-time) |
任务进入当前状态的时间。 |
| stats |
任务的资源使用统计数据。 |
|
| url |
string (uri) |
任务的网址。 |
| userIdentity |
任务运行的用户身份。 如果省略,任务将作为任务独一无二的非管理员用户运行。 |
BatchTaskConstraints
要应用于任务的执行约束。
| 名称 | 类型 | 说明 |
|---|---|---|
| maxTaskRetryCount |
integer (int32) |
可以重试任务的最大次数。 如果 Batch 服务退出代码为非零,则重试任务。 注意,这个值特别控制任务可执行程序的重试次数,因为退出码不是零。 Batch 服务将尝试一次任务,然后可能会重试到此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试次数为0,批处理服务在第一次尝试后不会重试任务。 如果最大重试计数为 -1,Batch 服务将重试任务,但不建议用于启动任务或任何任务。 默认值为 0(无重试)。 |
| maxWallClockTime |
string (duration) |
任务可运行的最大时间,从任务开始时间计算。 如果任务在时间限制内未完成,批处理服务会终止任务。 如果未明确说明,任务时间无限制。 |
| retentionTime |
string (duration) |
任务目录在运行的计算节点上,从执行完成起的最小时间。 此后,批处理服务可能会删除任务目录及其所有内容。 默认为7天,也就是说,除非计算节点被移除或作业被删除,否则任务目录将保留7天。 |
BatchTaskContainerExecutionInfo
包含有关任务正在执行的容器的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| containerId |
string |
容器的 ID。 |
| error |
string |
关于容器的详细错误信息。 这是Docker服务中详细的错误字符串(如果有的话)。 它等同于“docker inspect”返回的错误字段。 |
| state |
string |
集装箱的状态。 这是根据 Docker 服务显示的容器状态。 它等同于“docker inspect”返回的status字段。 |
BatchTaskContainerSettings
任务的容器设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| containerHostBatchBindMounts |
要装载到容器任务的路径。 如果此数组为 null 或不存在,容器任务将在 Windows 中装载整个临时磁盘驱动器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此数组设置为空,则不会将任何数据路径装载到容器中。 |
|
| containerRunOptions |
string |
容器创建命令的其他选项。 除了 Batch 服务控制的选项外,这些附加选项还作为“docker create”命令的参数提供。 |
| imageName |
string |
用于创建任务运行容器的图片。 这是完整的映像引用,正如“docker pull”中指定的那样。 如果图片名称中没有提供标签,默认使用标签“:latest”。 |
| registry |
包含容器镜像的私有注册表。 如果在创建池时已经提供了该设置,可以省略。 |
|
| workingDirectory |
容器任务工作目录的位置。 默认值为“taskWorkingDirectory”。 |
BatchTaskDependencies
指定任务的任何依赖项。 显式指定或依赖范围内的任何任务都必须在计划依赖任务之前完成。
| 名称 | 类型 | 说明 |
|---|---|---|
| taskIdRanges |
该任务依赖的任务ID范围列表。 所有范围内的所有任务必须成功完成,才能调度相关的任务。 |
|
| taskIds |
string[] |
该任务依赖的任务ID列表。 该列表中的所有任务必须成功完成,相关任务才能被调度。 taskIds 集合总长度限制为 64000 字符(即所有任务 ID 的总长度)。 如果 taskIds 集合超过最大长度,添加任务请求将失败,错误代码为 TaskDependencyListTooLong。 在这种情况下,考虑使用任务ID范围。 |
BatchTaskExecutionInfo
有关任务执行的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| containerInfo |
关于任务执行容器的信息。 该属性仅在任务在容器上下文中运行时设置。 |
|
| endTime |
string (date-time) |
任务完成的时间。 该属性仅在任务处于完成状态时设置。 |
| exitCode |
integer (int32) |
任务命令行中指定的程序退出代码。 该属性仅在任务处于完成状态时设置。 一般来说,进程的出口代码反映了应用开发者为该进程实现的特定约定。 如果你用退出代码值来做代码决策,务必了解应用过程中使用的退出代码惯例。 然而,如果批处理服务因超时或用户通过API终止任务而终止任务,你可能会看到作系统定义的退出码。 |
| failureInfo |
描述任务失败的信息(如果有的话)。 该属性仅在任务处于完成状态并遇到失败时设置。 |
|
| lastRequeueTime |
string (date-time) |
任务最近一次因用户请求而被批处理服务重新排队的时间点。 该属性仅在 requeueCount 非零时设置。 |
| lastRetryTime |
string (date-time) |
最近一次任务重试开始运行。 该元素仅在任务被重试时出现(即retryCount非零)。 如果存在,通常与 startTime 相同,但如果任务因非重试原因被重启,可能会不同;例如,如果计算节点在重试过程中被重启,那么startTime会更新,但lastRetryTime不会更新。 |
| requeueCount |
integer (int32) |
任务因用户请求而被批处理服务重新排队的次数。 当用户通过调整/缩小池来移除计算节点或作业被禁用时,用户可以指定计算节点上的任务重新排队执行。 该计数记录了任务因这些原因被重新排队的次数。 |
| result |
任务执行的结果。 如果该值为“失败”,那么失败的详细信息可以在 failureInfo 属性中找到。 |
|
| retryCount |
integer (int32) |
任务被批处理服务重试的次数。 任务应用失败(非零退出码)会重试,预处理错误(任务无法执行)和文件上传错误不会重试。 批处理服务会在约束限制范围内重试任务。 |
| startTime |
string (date-time) |
任务开始运行的时间。 “运行中”对应于运行状态,因此如果任务指定了资源文件或包,那么启动时间反映了任务开始下载或部署这些文件的时间。 如果任务已被重启或重试,则该任务最近一次开始运行。 该属性仅适用于处于运行中或已完成状态的任务。 |
BatchTaskExecutionResult
BatchTaskExecutionResult 枚举
| 值 | 说明 |
|---|---|
| success |
任务顺利进行。 |
| failure |
任务处理过程中出现了错误。 失败可能发生在任务进程启动前、任务进程执行中,或任务进程退出后。 |
BatchTaskFailureInfo
有关任务失败的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| category |
任务错误的类别。 |
|
| code |
string |
任务错误的标识符。 代码是固定的,旨在以编程方式使用。 |
| details |
与该错误相关的额外细节列表。 |
|
| message |
string |
描述任务错误的消息,旨在用于用户界面显示。 |
BatchTaskIdRange
范围的开始和结束是包容性的。 例如,如果某个范围具有 9 开始和结束 12,则表示任务“9”、“10”、“11”和“12”。
| 名称 | 类型 | 说明 |
|---|---|---|
| end |
integer (int32) |
范围内的最后一个任务ID。 |
| start |
integer (int32) |
该范围内的第一个任务ID。 |
BatchTaskState
BatchTaskState 枚举
| 值 | 说明 |
|---|---|
| active |
任务已排队并可运行,但目前未分配给计算节点。 任务在创建时、被禁用后启用,或在失败运行后等待重试时进入该状态。 |
| preparing |
任务已被分配给计算节点,但正在等待计算节点上的一项必备作业任务完成。 如果作业准备任务成功,任务将进入运行状态。 如果作业准备任务失败,该任务将恢复为活动状态,并有资格分配到不同的计算节点。 |
| running |
任务运行在计算节点上。 这包括任务层级的准备工作,如下载资源文件或部署任务指定的包——这并不一定意味着任务命令行已经开始执行。 |
| completed |
任务不再有资格运行,通常是因为任务已成功完成,或者任务未完成且已用尽重试次数。 如果任务启动时发生错误,或任务已被终止,任务也会被标记为已完成。 |
BatchTaskStatistics
任务的资源使用情况统计信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| kernelCPUTime |
string (duration) |
任务消耗的内核模式CPU总时间(涵盖所有核心和所有计算节点)。 |
| lastUpdateTime |
string (date-time) |
统计数据最后更新的时间。 所有统计数据均限于startTime到lastUpdateTime之间的范围。 |
| readIOGiB |
number (float) |
任务从磁盘读取的总gibibytes。 |
| readIOps |
string (int64) |
任务完成的磁盘读取作总数。 |
| startTime |
string (date-time) |
统计数据涵盖的时间范围的开始时间。 |
| url |
string (uri) |
统计数据的网址。 |
| userCPUTime |
string (duration) |
任务消耗的用户模式CPU总时间(涵盖所有核心和所有计算节点)。 |
| waitTime |
string (duration) |
任务的总等待时间。 任务的等待时间定义为任务创建与任务执行开始之间的时间。 (如果任务因失败而重试,等待时间即为最近一次任务执行的时间。) |
| wallClockTime |
string (duration) |
任务的总计时。 墙时钟时间是指任务开始在计算节点运行到完成(或如果任务尚未完成,统计数据最后更新时间)的经过时间。 如果任务被重试,这也包括所有任务重试的墙时钟时间。 |
| writeIOGiB |
number (float) |
任务写入磁盘的总gibibytes。 |
| writeIOps |
string (int64) |
任务完成的磁盘写入作总数。 |
ContainerHostBatchBindMountEntry
要装载到任务容器的路径和装载模式的条目。
| 名称 | 类型 | 说明 |
|---|---|---|
| isReadOnly |
boolean |
将此源路径装载为只读模式或不装载。 默认值为 false(读/写模式)。 对于 Linux,如果将此路径装载为读/写模式,这并不意味着容器中的所有用户都具有路径的读/写访问权限,这取决于主机 VM 中的访问。 如果此路径装载为只读,则容器中的所有用户将无法修改路径。 |
| source |
装载到容器客户的路径可以选择。 |
ContainerHostDataPath
将装载到容器任务的容器的路径。
| 值 | 说明 |
|---|---|
| Shared |
用于共享其文件的多实例任务的路径。 |
| Startup |
启动任务的路径。 |
| VfsMounts |
该路径包含此节点上装载的所有虚拟文件系统。 |
| Task |
任务路径。 |
| JobPrep |
作业准备任务路径。 |
| Applications |
应用程序路径。 |
ContainerRegistryReference
专用容器注册表。
| 名称 | 类型 | 说明 |
|---|---|---|
| identityReference |
对用于访问 Azure 容器注册表(而不是用户名和密码)的用户分配标识的引用。 |
|
| password |
string (password) |
登录到注册表服务器的密码。 |
| registryServer |
string (uri) |
注册表 URL。 如果省略,则默认值为“docker.io”。 |
| username |
string |
要登录到注册表服务器的用户名。 |
ContainerWorkingDirectory
ContainerWorkingDirectory 枚举
| 值 | 说明 |
|---|---|
| taskWorkingDirectory |
使用标准的批处理服务任务工作目录,该目录将包含由批处理填充的任务资源文件。 |
| containerImageDefault |
使用容器 Image 中定义的工作目录。 注意该目录不会包含批处理下载的资源文件。 |
DependencyAction
DependencyAction 枚举
| 值 | 说明 |
|---|---|
| satisfy |
满足等待任务的任务;一旦满足所有依赖关系,任务将被安排执行。 |
| block |
阻断等待该任务的任务,阻止它们被安排。 |
ElevationLevel
高程层枚举
| 值 | 说明 |
|---|---|
| nonadmin |
用户是没有提升访问权限的标准用户。 |
| admin |
用户是具有提升访问权限并具有完全管理员权限的用户。 |
EnvironmentSetting
要对任务进程设置的环境变量。
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
环境变量的名称。 |
| value |
string |
环境变量的值。 |
ExitCodeMapping
如果任务使用特定的退出代码退出,Batch 服务应如何响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
integer (int32) |
一个进程退出代码。 |
| exitOptions |
如果任务以这个退出代码退出,批处理服务应该如何响应。 |
ExitCodeRangeMapping
一系列退出代码以及 Batch 服务应如何响应该范围内的退出代码。
| 名称 | 类型 | 说明 |
|---|---|---|
| end |
integer (int32) |
范围内最后一个出口代码。 |
| exitOptions |
如果任务结束时的退出代码范围在开始到结束范围内(包括所有),批处理服务应该如何响应。 |
|
| start |
integer (int32) |
这是该范围的第一个出口代码。 |
ExitConditions
指定 Batch 服务在任务完成时应如何响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| default |
如果任务失败且出现其他属性未涵盖的退出条件,批处理服务应如何响应。 如果任务退出时带有任何非零的退出代码,则使用该值;如果不存在 preProcessingError 属性,则使用该值;如果没有 fileUploadError 属性,则使用文件上传错误。 如果你想在退出代码0上实现非默认行为,必须用exitCodes或exitCodeRanges集合明确列出它。 |
|
| exitCodeRanges |
任务退出代码范围列表以及批处理服务应如何响应这些代码。 |
|
| exitCodes |
列出单个任务的退出代码,以及批处理服务应如何响应这些代码。 |
|
| fileUploadError |
如果发生文件上传错误,批处理服务应如何响应。 如果任务以通过 exitCodes 或 exitCodeRange 指定的退出代码退出,并且遇到文件上传错误,则退出代码指定的作优先执行。 |
|
| preProcessingError |
如果任务因错误未能启动,批处理服务应如何响应。 |
ExitOptions
指定 Batch 服务如何响应特定的退出条件。
| 名称 | 类型 | 说明 |
|---|---|---|
| dependencyAction |
批处理服务对依赖该任务的任务执行的作。 可能的值有“满足”(允许依赖任务继续推进)和“阻断”(依赖任务继续等待)。 批处理目前还不支持取消依赖任务。 |
|
| jobAction |
如果任务以给定的退出条件完成且作业的onTaskfailed属性为“performExitOptionsJobAction”,则该任务包含该任务时执行的作。 出口代码0时默认为无,其他退出条件为终止。 如果作业的 onTaskFailed 属性是 noaction,那么指定该属性会返回错误,添加任务请求会以无效属性值错误失败;如果你直接调用 REST API,HTTP 状态码是 400(错误请求)。 |
MultiInstanceSettings
多实例任务通常用于支持 MPI 任务。 在 MPI 情况下,如果任何子任务都失败(例如由于退出并包含非零退出代码),则整个多实例任务会失败。 然后终止并重试多实例任务,达到其重试限制。
| 名称 | 类型 | 说明 |
|---|---|---|
| commonResourceFiles |
批处理服务在运行协调命令行前会下载的文件列表。 公共资源文件和任务资源文件的区别在于,所有子任务(包括主任务)都下载了通用资源文件,而任务资源文件仅下载给主任务。 还要注意,这些资源文件不会被下载到任务工作目录,而是下载到任务根目录(工作目录上方一个目录)。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 |
|
| coordinationCommandLine |
string |
命令行可在所有计算节点上运行,以便它们在主节点运行主任务命令时协调。 典型的协调命令行会启动后台服务,并验证服务是否准备好处理节点间消息。 |
| numberOfInstances |
integer (int32) |
任务所需的计算节点数量。 如果省略,默认值为1。 |
NameValuePair
表示名称/值对。
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
名字和值对中的名称。 |
| value |
string |
名称-值对中的值。 |
OutputFile
每次上传文件时,Batch 服务都会将两个日志文件写入计算节点“fileuploadout.txt”和“fileuploaderr.txt”。 这些日志文件用于了解有关特定故障的详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| destination |
输出文件的目的地。 |
|
| filePattern |
string |
一个指示上传文件的模式。 支持相对路径和绝对路径。 相对路径相对于任务工作目录。 支持以下通配符:* 匹配 0 个或多个字符(例如 pattern abc* 会匹配 abc 或 abcdef),** 匹配任意目录,? 匹配任意单个字符,[ABC] 匹配括号中的一个字符,[a-c] 匹配范围中的一个字符。 括号可以包含一个否定,以匹配任何未指定的字符(例如[!abc]匹配除a、b或c外的任何字符)。 如果文件名以“.”开头,默认会忽略,但可以通过明确指定来匹配(例如 .gif 不会匹配 .a.gif,但。.gif 会匹配 )。 一个简单的例子:***.txt 匹配任务工作目录中任何不以'.'开头、以 .txt 结尾的文件,在任务工作目录或任何子目录中。 如果文件名包含万用字符,可以用括号转义(例如,abc[] 会匹配名为 abc 的文件)。 注意,在Windows上\和/都被视为目录分隔符,但在Linux上只有/。 环境变量(Windows上的%var% 或Linux上的$var)在应用模式之前会被展开。 |
| uploadOptions |
上传作的额外选项,包括在何种条件下进行上传。 |
OutputFileBlobContainerDestination
指定 Azure Blob 存储容器中的文件上传目标。
| 名称 | 类型 | 说明 |
|---|---|---|
| containerUrl |
string (uri) |
Azure Blob 存储中要上传文件的容器的 URL。 如果不使用托管身份,URL必须包含共享访问签名(SAS),赋予容器写权限。 |
| identityReference |
这是用来访问 Azure Blob 存储(由 containerUrl 指定的)用户指定的身份引用。 身份必须有写入 Azure Blob 存储容器的权限。 |
|
| path |
string |
Azure Storage 容器内的目的地 blob 或虚拟目录。 如果filePattern指的是特定文件(即不包含万用符),那么path是上传该文件的blob名称。 如果filePattern包含一个或多个万用符(因此可能匹配多个文件),那么path是blob虚拟目录的名称(每个blob名称前加),用于上传文件。 如果省略,文件会上传到容器根节点,blob 名称与其文件名相匹配。 |
| uploadHeaders |
一份用于上传输出文件时用于首部的名称-值对列表。 这些头部将在上传文件到Azure存储时指定。 关于上传blob时允许的头部的官方文档: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types。 |
OutputFileDestination
文件应上传到的目标。
| 名称 | 类型 | 说明 |
|---|---|---|
| container |
Azure blob 存储中文件上传到的位置。 |
OutputFileUploadCondition
OutputFileUploadCondition 枚举
| 值 | 说明 |
|---|---|
| tasksuccess |
只有在任务进程结束后,以出口码为0才上传文件。 |
| taskfailure |
只有在任务进程以非零退出码退出后才上传文件。 |
| taskcompletion |
无论退出代码是什么,任务进程退出后都要上传文件。 |
OutputFileUploadConfig
输出文件上传操作的选项,包括执行上传的条件。
| 名称 | 类型 | 说明 |
|---|---|---|
| uploadCondition |
任务输出文件或文件集应在何种条件下上传。 默认是任务完成。 |
OutputFileUploadHeader
HTTP 标头名称值对
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
上传输出文件时使用的头部名称,大小写无区。 |
| value |
string |
上传输出文件时要使用的头部值。 |
ResourceFile
要下载到计算节点的单个文件或多个文件。
| 名称 | 类型 | 说明 |
|---|---|---|
| autoStorageContainerName |
string |
自动存储账户中的存储容器名称。 autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 |
| blobPrefix |
string |
从 Azure 存储容器下载 Blob 时要使用的 Blob 前缀。 仅下载名称以指定前缀开头的 blob。 仅当使用 autoStorageContainerName 或 storageContainerUrl 时,该属性才有效。 此前缀可以是部分文件名或子目录。 如果未指定前缀,则会下载容器中的所有文件。 |
| fileMode |
string |
以八进制格式的文件权限模式属性。 该特性仅适用于下载到 Linux 计算节点的文件。 如果为将下载到 Windows 计算节点的资源文件指定了该文件,则该文件将被忽略。 如果Linux计算节点未指定该属性,则默认值为0770。 |
| filePath |
string |
计算节点上相对于任务工作目录下载文件的位置。 如果指定了 httpUrl 属性,则需要 filePath,并描述文件将下载到的路径,包括文件名。 否则,如果指定 autoStorageContainerName 或 storageContainerUrl 属性,则 filePath 是可选的,并且是将文件下载到的目录。 如果 filePath 用作目录,则与输入数据关联的任何目录结构都将完整保留并追加到指定的 filePath 目录。 指定的相对路径不能从任务的工作目录中跳出(例如使用“..”)。 |
| httpUrl |
string (uri) |
要下载的文件的 URL。 autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 如果 URL 指向 Azure Blob 存储,则必须从计算节点读取该 URL。 可通过三种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取权限的共享访问签名(SAS),使用具有读取权限的托管标识,或为 Blob 或其容器设置 ACL 以允许公共访问。 |
| identityReference |
指的是用来访问 Azure Blob 存储的用户指定身份,由 storageContainerUrl 或 httpURL 指定。 |
|
| storageContainerUrl |
string (uri) |
Azure Blob 存储中 Blob 容器的 URL。 autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 此 URL 必须可从计算节点读取和列出。 可通过三种方法获取 Azure 存储中容器的此类 URL:包括授予对容器的读取和列表权限的共享访问签名(SAS),使用具有读取和列表权限的托管标识,或为容器设置 ACL 以允许公共访问。 |
UserIdentity
运行任务的用户标识的定义。 指定 userName 或 autoUser 属性,但不能同时指定这两者。
| 名称 | 类型 | 说明 |
|---|---|---|
| autoUser |
任务运行的自动用户。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 |
|
| username |
string |
任务运行时所用的用户身份名称。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 |