Nodes - List Nodes
列出指定池中的计算节点。
GET {endpoint}/pools/{poolId}/nodes?api-version=2025-06-01
GET {endpoint}/pools/{poolId}/nodes?api-version=2025-06-01&timeOut={timeOut}&maxresults={maxresults}&$filter={$filter}&$select={$select}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Batch 帐户终结点(例如:https://batchaccount.eastus2.batch.azure.com)。 |
|
pool
|
path | True |
string |
你想从中列出计算节点的池的ID。 |
|
api-version
|
query | True |
string minLength: 1 |
要用于此操作的 API 版本。 |
|
$filter
|
query |
string |
OData $filter 子句。 关于构造该滤波器的更多信息,请参见 https://learn.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool。 |
|
|
$select
|
query |
string[] |
OData $select 子句。 |
|
|
maxresults
|
query |
integer (int32) minimum: 1maximum: 1000 |
响应中要返回的最大项数。 最多可提交1000份申请。 |
|
|
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,请显式设置它。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求已成功。 标头
|
|
| Other Status Codes |
意外错误响应。 |
安全性
OAuth2Auth
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
作用域
| 名称 | 说明 |
|---|---|
| https://batch.core.windows.net//.default |
示例
Node list
示例请求
GET {endpoint}/pools/poolId/nodes?api-version=2025-06-01
示例响应
{
"value": [
{
"id": "tvm-1695681911_1-20161122t193202z",
"url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z",
"state": "idle",
"schedulingState": "enabled",
"stateTransitionTime": "2025-11-22T22:22:27.2236818Z",
"lastBootTime": "2025-11-22T22:22:24.4634125Z",
"allocationTime": "2025-11-22T19:32:02.8155319Z",
"ipAddress": "1.1.1.1",
"ipv6Address": "1.1.1.1",
"affinityId": "TVM:tvm-1695681911_1-20161122t193202z",
"vmSize": "Standard_D2_v5",
"totalTasksRun": 0,
"totalTasksSucceeded": 0,
"runningTasksCount": 0,
"runningTaskSlotsCount": 0,
"isDedicated": true,
"startTask": {
"commandLine": "cmd /c echo hello",
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
},
"maxTaskRetryCount": 0,
"waitForSuccess": false
},
"virtualMachineInfo": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server",
"version": "latest",
"exactVersion": "latest"
}
},
"startTaskInfo": {
"state": "completed",
"startTime": "2025-11-22T22:22:27.2236818Z",
"endTime": "2025-11-22T22:22:27.567189Z",
"exitCode": 0,
"retryCount": 0
},
"nodeAgentInfo": {
"version": "1.2.0.0",
"lastUpdateTime": "2025-11-22T22:22:24.4634125Z"
}
},
{
"id": "tvm-1695681911_2-20161122t193202z",
"url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
"state": "idle",
"schedulingState": "enabled",
"stateTransitionTime": "2025-11-22T19:37:31.4285526Z",
"lastBootTime": "2025-11-22T19:37:28.623369Z",
"allocationTime": "2025-11-22T19:32:02.8155319Z",
"ipAddress": "1.1.1.1",
"ipv6Address": "1.1.1.1",
"affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
"vmSize": "Standard_D2_v5",
"totalTasksRun": 0,
"totalTasksSucceeded": 0,
"runningTasksCount": 0,
"runningTaskSlotsCount": 0,
"isDedicated": true,
"startTask": {
"commandLine": "cmd /c echo hello",
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
},
"maxTaskRetryCount": 0,
"waitForSuccess": false
},
"virtualMachineInfo": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server",
"version": "latest",
"exactVersion": "latest"
}
},
"startTaskInfo": {
"state": "completed",
"startTime": "2025-11-22T19:37:31.4285526Z",
"endTime": "2025-11-22T19:37:31.838028Z",
"exitCode": 0,
"retryCount": 0
},
"nodeAgentInfo": {
"version": "1.2.0.0",
"lastUpdateTime": "2025-11-22T22:22:24.4634125Z"
}
},
{
"id": "tvm-1695681911_3-20161122t193202z",
"url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z",
"state": "idle",
"schedulingState": "enabled",
"stateTransitionTime": "2025-11-22T19:36:51.0013378Z",
"lastBootTime": "2025-11-22T19:36:48.21721Z",
"allocationTime": "2025-11-22T19:32:02.8155319Z",
"ipAddress": "1.1.1.1",
"ipv6Address": "1.1.1.1",
"affinityId": "TVM:tvm-1695681911_3-20161122t193202z",
"vmSize": "Standard_D2_v5",
"totalTasksRun": 0,
"totalTasksSucceeded": 0,
"runningTasksCount": 0,
"runningTaskSlotsCount": 0,
"isDedicated": true,
"startTask": {
"commandLine": "cmd /c echo hello",
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
},
"maxTaskRetryCount": 0,
"waitForSuccess": false
},
"virtualMachineInfo": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server",
"version": "latest",
"exactVersion": "latest"
}
},
"startTaskInfo": {
"state": "completed",
"startTime": "2025-11-22T19:36:51.0013378Z",
"endTime": "2025-11-22T19:36:51.2363447Z",
"exitCode": 0,
"retryCount": 0
},
"nodeAgentInfo": {
"version": "1.2.0.0",
"lastUpdateTime": "2025-11-22T22:22:24.4634125Z"
}
}
]
}
定义
| 名称 | 说明 |
|---|---|
|
Auto |
AutoUserScope 枚举 |
|
Auto |
指定运行 Azure Batch 任务的自动用户的选项。 |
|
Batch |
从 Azure Batch 服务收到的错误响应。 |
|
Batch |
Azure Batch 错误响应中包含的附加信息项。 |
|
Batch |
Azure Batch 错误响应中收到的错误消息。 |
|
Batch |
BatchErrorSourceCategory 枚举 |
|
Batch |
Batch 服务中的计算节点。 |
|
Batch |
Batch 计算节点代理是在池中的每个计算节点上运行的程序,并在计算节点上提供 Batch 功能。 |
|
Batch |
计算节点的终结点配置。 |
|
Batch |
计算节点遇到的错误。 |
|
Batch |
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。 |
|
Batch |
列出池中的计算节点的结果。 |
|
Batch |
BatchNodeState 枚举 |
|
Batch |
当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。 在某些情况下,即使计算节点未重新启动,StartTask 也可能重新运行。 应特别注意避免 StartTaskss 从 StartTask 工作目录创建分离进程或安装/启动服务,因为这会阻止 Batch 重新运行 StartTask。 |
|
Batch |
有关在计算节点上运行的 StartTask 的信息。 |
|
Batch |
BatchStartTaskState 枚举 |
|
Batch |
包含有关任务正在执行的容器的信息。 |
|
Batch |
任务的容器设置。 |
|
Batch |
有关任务执行的信息。 |
|
Batch |
BatchTaskExecutionResult 枚举 |
|
Batch |
有关任务失败的信息。 |
|
Batch |
有关在计算节点上运行的任务的信息。 |
|
Batch |
BatchTaskState 枚举 |
|
Batch |
对 Azure 虚拟机市场映像或 Azure 计算库映像的引用。 若要获取 Azure Batch 验证的所有 Azure 市场映像引用的列表,请参阅“列表支持的映像”操作。 |
|
Container |
要装载到任务容器的路径和装载模式的条目。 |
|
Container |
将装载到容器任务的容器的路径。 |
|
Container |
专用容器注册表。 |
|
Container |
ContainerWorkingDirectory 枚举 |
|
Elevation |
高程层枚举 |
|
Environment |
要对任务进程设置的环境变量。 |
|
Inbound |
计算节点上的入站终结点。 |
|
Inbound |
InboundEndpointProtocol 枚举 |
|
Name |
表示名称/值对。 |
|
Resource |
要下载到计算节点的单个文件或多个文件。 |
|
Scheduling |
调度状态枚举 |
|
User |
运行任务的用户标识的定义。 指定 userName 或 autoUser 属性,但不能同时指定这两者。 |
|
Virtual |
有关虚拟机的当前状态的信息。 |
AutoUserScope
AutoUserScope 枚举
| 值 | 说明 |
|---|---|
| task |
指定服务应为该任务创建新用户。 |
| pool |
指定任务作为公共自动用户账户运行,该账户在池中的每个计算节点创建。 |
AutoUserSpecification
指定运行 Azure Batch 任务的自动用户的选项。
| 名称 | 类型 | 说明 |
|---|---|---|
| elevationLevel |
自动用户的提升级别。 默认值为 nonAdmin。 |
|
| scope |
自动用户的范围。 默认值为池。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式更改注册表。 |
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 |
错误是由于服务器内部出现问题。 |
BatchNode
Batch 服务中的计算节点。
| 名称 | 类型 | 说明 |
|---|---|---|
| affinityId |
string |
添加任务以请求在此计算节点上计划任务时传递的标识符。 请注意,这只是软相关性。 如果目标计算节点在计划任务时繁忙或不可用,则任务将在其他位置进行计划。 |
| allocationTime |
string (date-time) |
此计算节点分配给池的时间。 这是计算节点最初分配的时间,设置后不会更改。 当计算节点被服务治愈或抢占时,它不会更新。 |
| endpointConfiguration |
计算节点的终结点配置。 |
|
| errors |
计算节点当前遇到的错误列表。 |
|
| id |
string |
计算节点的 ID。 添加到池的每个计算节点都分配有唯一 ID。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 ID,并可以重新用于新的计算节点。 |
| ipAddress |
string |
其他节点可用于与此计算节点通信的 IP 地址。 添加到池的每个计算节点都分配有唯一的 IP 地址。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 IP 地址,并可以重新用于新的计算节点。 |
| ipv6Address |
string |
其他节点可用于与此计算节点通信的 IPv6 地址。 添加到池的每个计算节点都分配有唯一的 IP 地址。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 IP 地址,并可以重新用于新的计算节点。 如果未为 IPv6 配置池,则此属性将不存在。 |
| isDedicated |
boolean |
此计算节点是否为专用计算节点。 如果为 false,则计算节点是现成/低优先级计算节点。 |
| lastBootTime |
string (date-time) |
上次启动计算节点的时间。 如果计算节点状态不可用,则此属性可能不存在。 |
| nodeAgentInfo |
有关计算节点代理版本以及计算节点升级到新版本的时间的信息。 |
|
| recentTasks |
最近更改其状态的任务列表。 仅当至少一个任务已在此计算节点上运行,因为该任务已分配给池,此属性才存在。 |
|
| runningTaskSlotsCount |
integer (int32) |
当前在计算节点上运行作业任务的计划槽总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。 |
| runningTasksCount |
integer (int32) |
计算节点上当前正在运行的作业任务的总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。 |
| schedulingState |
计算节点是否可用于任务计划。 |
|
| startTask |
指定要在计算节点上运行的任务,因为它加入池。 |
|
| startTaskInfo |
有关在计算节点上执行 StartTask 的运行时信息。 |
|
| state |
计算节点的当前状态。 |
|
| stateTransitionTime |
string (date-time) |
计算节点进入其当前状态的时间。 |
| totalTasksRun |
integer (int32) |
计算节点上完成的作业任务总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。 |
| totalTasksSucceeded |
integer (int32) |
计算节点上成功完成的作业任务总数(带有 exitCode 0)。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。 |
| url |
string (uri) |
计算节点的 URL。 |
| virtualMachineInfo |
有关虚拟机的当前状态的信息。 |
|
| vmSize |
string |
托管计算节点的虚拟机的大小。 有关池中虚拟机的可用大小的信息,请参阅为 Azure Batch 池中的计算节点选择 VM 大小(https://learn.microsoft.com/azure/batch/batch-pool-vm-sizes)。 |
BatchNodeAgentInfo
Batch 计算节点代理是在池中的每个计算节点上运行的程序,并在计算节点上提供 Batch 功能。
| 名称 | 类型 | 说明 |
|---|---|---|
| lastUpdateTime |
string (date-time) |
计算节点代理在计算节点上更新的时间。 这是计算节点代理最近一次更新到新版本。 |
| version |
string |
运行在计算节点上的批量计算节点代理版本。 该版本号可与位于 https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.mdCompute Node 的 Compute Node 代理发布说明进行核对。 |
BatchNodeEndpointConfiguration
计算节点的终结点配置。
| 名称 | 类型 | 说明 |
|---|---|---|
| inboundEndpoints |
计算节点上可访问的入站端点列表。 |
BatchNodeError
计算节点遇到的错误。
| 名称 | 类型 | 说明 |
|---|---|---|
| code |
string |
计算节点错误的标识符。 代码是固定的,旨在以编程方式使用。 |
| errorDetails |
与计算节点错误相关的额外错误细节列表。 |
|
| message |
string |
描述计算节点错误的消息,旨在用于用户界面显示。 |
BatchNodeIdentityReference
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。
| 名称 | 类型 | 说明 |
|---|---|---|
| resourceId |
string (arm-id) |
用户分配标识的 ARM 资源 ID。 |
BatchNodeListResult
列出池中的计算节点的结果。
| 名称 | 类型 | 说明 |
|---|---|---|
| odata.nextLink |
string (uri) |
用于获取下一组结果的 URL。 |
| value |
计算节点列表。 |
BatchNodeState
BatchNodeState 枚举
| 值 | 说明 |
|---|---|
| idle |
计算节点目前没有执行任务。 |
| rebooting |
计算节点正在重启。 |
| reimaging |
计算节点正在重构。 |
| running |
计算节点正在运行一个或多个任务(除了启动任务)。 |
| unusable |
由于错误,计算节点无法用于任务执行。 |
| creating |
批处理服务已从Azure Compute获得底层虚拟机,但尚未开始加入池。 |
| starting |
批处理服务正在底层虚拟机上启动。 |
| waitingforstarttask |
StartTask已在计算节点上开始运行,但waitForSuccess已设置,且StartTask尚未完成。 |
| starttaskfailed |
StartTask在计算节点上失败(并用尽所有重试),waitForSuccess已设置。 计算节点无法用于运行任务。 |
| unknown |
批处理服务已失去与计算节点的联系,无法得知其真实状态。 |
| leavingpool |
计算节点正在离开池,要么是因为用户明确移除了它,要么是池正在调整大小或自动缩放。 |
| offline |
计算节点当前没有执行任务,且新任务调度被禁用。 |
| preempted |
现成/低优先级计算节点已被抢占。 当计算节点被抢占时在计算节点上运行的任务将在另一个计算节点可用时重新计划。 |
| upgradingos |
计算节点正在进行作系统升级作。 |
| deallocated |
计算节点被释放。 |
| deallocating |
计算节点正在释放。 |
BatchStartTask
当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。 在某些情况下,即使计算节点未重新启动,StartTask 也可能重新运行。 应特别注意避免 StartTaskss 从 StartTask 工作目录创建分离进程或安装/启动服务,因为这会阻止 Batch 重新运行 StartTask。
| 名称 | 类型 | 说明 |
|---|---|---|
| commandLine |
string |
StartTask 的命令行。 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对路径(相对于任务工作目录),或使用 Batch 提供的环境变量(https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。 |
| containerSettings |
启动任务运行容器的设置。 当指定时,AZ_BATCH_NODE_ROOT_DIR(节点上 Azure Batch 目录的根节点)下方的所有目录递归映射到容器中,所有任务环境变量映射到容器中,任务命令行在容器中执行。 容器中AZ_BATCH_NODE_ROOT_DIR外生成的文件可能不会反映到主机磁盘,这意味着批处理文件API无法访问这些文件。 |
|
| environmentSettings |
StartTask 的环境变量设置列表。 |
|
| maxTaskRetryCount |
integer (int32) |
可以重试任务的最大次数。 如果 Batch 服务退出代码为非零,则重试任务。 请注意,此值专门控制重试次数。 Batch 服务将尝试一次任务,然后可能会重试到此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试计数为 0,Batch 服务不会重试任务。 如果最大重试计数为 -1,Batch 服务将重试任务,但不建议用于启动任务或任何任务。 默认值为 0(无重试)。 |
| resourceFiles |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 此元素下列出的文件位于任务的工作目录中。 |
|
| userIdentity |
启动任务运行的用户身份。 如果省略,任务将作为任务独一无二的非管理员用户运行。 |
|
| waitForSuccess |
boolean |
在计划计算节点上的任何任务之前,Batch 服务是否应等待 StartTask 成功完成(即退出代码 0)。 如果 True 且 StartTask 在节点上失败,Batch 服务将重试 StartTask,最大重试计数(maxTaskRetryCount)。 如果任务在所有重试后仍未成功完成,则 Batch 服务会标记节点不可用,并且不会为其计划任务。 可以通过计算节点状态和故障信息详细信息来检测此条件。 如果为 false,Batch 服务不会等待 StartTask 完成。 在这种情况下,在 StartTask 仍在运行时,其他任务可以开始在计算节点上执行;即使 StartTask 失败,新任务将继续在计算节点上计划。 默认值为 true。 |
BatchStartTaskInfo
有关在计算节点上运行的 StartTask 的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| containerInfo |
关于任务执行容器的信息。 该属性仅在任务在容器上下文中运行时设置。 |
|
| endTime |
string (date-time) |
启动任务停止运行的时间。 这是最近一次 StartTask 运行的结束时间,如果该运行已完成(即使该运行失败且重试仍在等待中)。 如果启动任务当前运行,则该元素不存在。 |
| exitCode |
integer (int32) |
程序的退出代码在 StartTask 命令行中指定。 该属性仅在 StartTask 处于完成状态时设置。 一般来说,进程的出口代码反映了应用开发者为该进程实现的特定约定。 如果你用退出代码值来做代码决策,务必了解应用过程中使用的退出代码惯例。 然而,如果批处理服务因超时或用户通过API终止启动任务,你可能会看到作系统定义的退出代码。 |
| failureInfo |
描述任务失败的信息(如果有的话)。 该属性仅在任务处于完成状态并遇到失败时设置。 |
|
| lastRetryTime |
string (date-time) |
最近一次任务重试开始运行。 该元素仅在任务被重试时出现(即retryCount非零)。 如果存在,通常与 startTime 相同,但如果任务因非重试原因被重启,可能会不同;例如,如果计算节点在重试过程中被重启,那么startTime会更新,但lastRetryTime不会更新。 |
| result |
任务执行的结果。 如果该值为“失败”,那么失败的详细信息可以在 failureInfo 属性中找到。 |
|
| retryCount |
integer (int32) |
任务被批处理服务重试的次数。 任务应用失败(非零退出码)会重试,预处理错误(任务无法执行)和文件上传错误不会重试。 批处理服务会在约束限制范围内重试任务。 |
| startTime |
string (date-time) |
启动任务开始运行的时间。 每次任务重启或重试时(即这是启动任务最近开始运行的时间),该值都会被重置。 |
| state |
计算节点上的StartTask状态。 |
BatchStartTaskState
BatchStartTaskState 枚举
| 值 | 说明 |
|---|---|
| running |
启动任务目前正在运行。 |
| completed |
启动任务以退出代码0退出,或启动任务失败且重试次数已达上限,或因任务准备错误(如资源文件下载失败)而未运行。 |
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”。 |
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 |
描述任务错误的消息,旨在用于用户界面显示。 |
BatchTaskInfo
有关在计算节点上运行的任务的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| executionInfo |
关于任务执行的信息。 |
|
| jobId |
string |
任务所属的作业ID。 |
| subtaskId |
integer (int32) |
如果任务是多实例任务,则该子任务的ID。 |
| taskId |
string |
任务的ID。 |
| taskState |
任务的现状。 |
|
| taskUrl |
string (uri) |
任务的网址。 |
BatchTaskState
BatchTaskState 枚举
| 值 | 说明 |
|---|---|
| active |
任务已排队并可运行,但目前未分配给计算节点。 任务在创建时、被禁用后启用,或在失败运行后等待重试时进入该状态。 |
| preparing |
任务已被分配给计算节点,但正在等待计算节点上的一项必备作业任务完成。 如果作业准备任务成功,任务将进入运行状态。 如果作业准备任务失败,该任务将恢复为活动状态,并有资格分配到不同的计算节点。 |
| running |
任务运行在计算节点上。 这包括任务层级的准备工作,如下载资源文件或部署任务指定的包——这并不一定意味着任务命令行已经开始执行。 |
| completed |
任务不再有资格运行,通常是因为任务已成功完成,或者任务未完成且已用尽重试次数。 如果任务启动时发生错误,或任务已被终止,任务也会被标记为已完成。 |
BatchVmImageReference
对 Azure 虚拟机市场映像或 Azure 计算库映像的引用。 若要获取 Azure Batch 验证的所有 Azure 市场映像引用的列表,请参阅“列表支持的映像”操作。
| 名称 | 类型 | 说明 |
|---|---|---|
| communityGalleryImageId |
string |
社区画廊图片唯一标识符。 此属性与其他属性互斥,可以从社区库映像 GET 调用中提取。 |
| exactVersion |
string |
用于创建节点的平台镜像或市场镜像的特定版本。 该只读字段仅在创建池时指定的“版本”值为“最新”时才与“版本”不同。 |
| offer |
string |
Azure 虚拟机市场镜像的 offer 类型。 例如,UbuntuServer 或 WindowsServer。 |
| publisher |
string |
Azure虚拟机市场镜像的发布者。 例如,Canonical 或 MicrosoftWindowsServer。 |
| sharedGalleryImageId |
string |
共享图库图像的唯一标识符。 此属性与其他属性互斥,可以从共享库映像 GET 调用中提取。 |
| sku |
string |
Azure 虚拟机市场镜像的 SKU。 例如,18.04-LTS 或 2019-Datacenter。 |
| version |
string |
Azure 虚拟机市场镜像的版本。 可以指定“最新”值以选择图像的最新版本。 如果省略,则默认值为“latest”。 |
| virtualMachineImageId |
string (arm-id) |
Azure 计算库映像的 ARM 资源标识符。 池中的计算节点将使用该图像ID创建。这类格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} 或 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName},始终默认使用最新的图像版本。 该属性与其他 ImageReference 属性互斥。 Azure 计算库镜像必须在与 Azure 批处理账户相同区域内有副本,并且订阅也必须与 Azure Batch 账户相同。 如果imageId中未指定镜像版本,则使用最新版本。 有关批处理计算节点代理与批处理服务通信的防火墙设置,请参见 https://learn.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration。 |
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 中定义的工作目录。 注意该目录不会包含批处理下载的资源文件。 |
ElevationLevel
高程层枚举
| 值 | 说明 |
|---|---|
| nonadmin |
用户是没有提升访问权限的标准用户。 |
| admin |
用户是具有提升访问权限并具有完全管理员权限的用户。 |
EnvironmentSetting
要对任务进程设置的环境变量。
| 名称 | 类型 | 说明 |
|---|---|---|
| name |
string |
环境变量的名称。 |
| value |
string |
环境变量的值。 |
InboundEndpoint
计算节点上的入站终结点。
| 名称 | 类型 | 说明 |
|---|---|---|
| backendPort |
integer (int32) |
端点的后端端口号。 |
| frontendPort |
integer (int32) |
端点的公共端口号。 |
| name |
string |
终结点的名称。 |
| protocol |
终结点的协议。 |
|
| publicFQDN |
string |
计算节点的公共完全限定域名。 |
| publicIPAddress |
string |
计算节点的公共IP地址。 |
InboundEndpointProtocol
InboundEndpointProtocol 枚举
| 值 | 说明 |
|---|---|
| tcp |
对终结点使用 TCP。 |
| udp |
对终结点使用 UDP。 |
NameValuePair
表示名称/值对。
| 名称 | 类型 | 说明 |
|---|---|---|
| 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 以允许公共访问。 |
SchedulingState
调度状态枚举
| 值 | 说明 |
|---|---|
| enabled |
任务可以在计算节点上调度。 |
| disabled |
计算节点不会安排新的任务。 已经在计算节点上运行的任务仍可完成。 所有计算节点起始时都启用了调度功能。 |
UserIdentity
运行任务的用户标识的定义。 指定 userName 或 autoUser 属性,但不能同时指定这两者。
| 名称 | 类型 | 说明 |
|---|---|---|
| autoUser |
任务运行的自动用户。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 |
|
| username |
string |
任务运行时所用的用户身份名称。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。 |
VirtualMachineInfo
有关虚拟机的当前状态的信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| imageReference |
这是对Azure虚拟机市场镜像的引用。 |
|
| scaleSetVmResourceId |
string |
计算节点当前虚拟机规模集虚拟机的资源ID。 只有在批量账户创建时,其 poolAllocationMode 属性设置为“UserSubscription”时才定义。 |