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

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)。

poolId
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: 1
maximum: 1000

响应中要返回的最大项数。 最多可提交1000份申请。

timeOut
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

BatchNodeListResult

请求已成功。

标头

  • ETag: string
  • Last-Modified: string
  • client-request-id: string
  • request-id: string
Other Status Codes

BatchError

意外错误响应。

安全性

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"
      }
    }
  ]
}

定义

名称 说明
AutoUserScope

AutoUserScope 枚举

AutoUserSpecification

指定运行 Azure Batch 任务的自动用户的选项。

BatchError

从 Azure Batch 服务收到的错误响应。

BatchErrorDetail

Azure Batch 错误响应中包含的附加信息项。

BatchErrorMessage

Azure Batch 错误响应中收到的错误消息。

BatchErrorSourceCategory

BatchErrorSourceCategory 枚举

BatchNode

Batch 服务中的计算节点。

BatchNodeAgentInfo

Batch 计算节点代理是在池中的每个计算节点上运行的程序,并在计算节点上提供 Batch 功能。

BatchNodeEndpointConfiguration

计算节点的终结点配置。

BatchNodeError

计算节点遇到的错误。

BatchNodeIdentityReference

对与计算节点将使用的 Batch 池关联的用户分配标识的引用。

BatchNodeListResult

列出池中的计算节点的结果。

BatchNodeState

BatchNodeState 枚举

BatchStartTask

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

BatchStartTaskInfo

有关在计算节点上运行的 StartTask 的信息。

BatchStartTaskState

BatchStartTaskState 枚举

BatchTaskContainerExecutionInfo

包含有关任务正在执行的容器的信息。

BatchTaskContainerSettings

任务的容器设置。

BatchTaskExecutionInfo

有关任务执行的信息。

BatchTaskExecutionResult

BatchTaskExecutionResult 枚举

BatchTaskFailureInfo

有关任务失败的信息。

BatchTaskInfo

有关在计算节点上运行的任务的信息。

BatchTaskState

BatchTaskState 枚举

BatchVmImageReference

对 Azure 虚拟机市场映像或 Azure 计算库映像的引用。 若要获取 Azure Batch 验证的所有 Azure 市场映像引用的列表,请参阅“列表支持的映像”操作。

ContainerHostBatchBindMountEntry

要装载到任务容器的路径和装载模式的条目。

ContainerHostDataPath

将装载到容器任务的容器的路径。

ContainerRegistryReference

专用容器注册表。

ContainerWorkingDirectory

ContainerWorkingDirectory 枚举

ElevationLevel

高程层枚举

EnvironmentSetting

要对任务进程设置的环境变量。

InboundEndpoint

计算节点上的入站终结点。

InboundEndpointProtocol

InboundEndpointProtocol 枚举

NameValuePair

表示名称/值对。

ResourceFile

要下载到计算节点的单个文件或多个文件。

SchedulingState

调度状态枚举

UserIdentity

运行任务的用户标识的定义。 指定 userName 或 autoUser 属性,但不能同时指定这两者。

VirtualMachineInfo

有关虚拟机的当前状态的信息。

AutoUserScope

AutoUserScope 枚举

说明
task

指定服务应为该任务创建新用户。

pool

指定任务作为公共自动用户账户运行,该账户在池中的每个计算节点创建。

AutoUserSpecification

指定运行 Azure Batch 任务的自动用户的选项。

名称 类型 说明
elevationLevel

ElevationLevel

自动用户的提升级别。 默认值为 nonAdmin。

scope

AutoUserScope

自动用户的范围。 默认值为池。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式更改注册表。

BatchError

从 Azure Batch 服务收到的错误响应。

名称 类型 说明
code

string

错误的标识符。 代码是固定的,旨在以编程方式使用。

message

BatchErrorMessage

描述错误的消息,旨在适合在用户界面中显示。

values

BatchErrorDetail[]

包含有关错误的更多详细信息的键值对的集合。

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

BatchNodeEndpointConfiguration

计算节点的终结点配置。

errors

BatchNodeError[]

计算节点当前遇到的错误列表。

id

string

计算节点的 ID。 添加到池的每个计算节点都分配有唯一 ID。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 ID,并可以重新用于新的计算节点。

ipAddress

string

其他节点可用于与此计算节点通信的 IP 地址。 添加到池的每个计算节点都分配有唯一的 IP 地址。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 IP 地址,并可以重新用于新的计算节点。

ipv6Address

string

其他节点可用于与此计算节点通信的 IPv6 地址。 添加到池的每个计算节点都分配有唯一的 IP 地址。 每当从池中删除计算节点时,都会删除其所有本地文件,并回收 IP 地址,并可以重新用于新的计算节点。 如果未为 IPv6 配置池,则此属性将不存在。

isDedicated

boolean

此计算节点是否为专用计算节点。 如果为 false,则计算节点是现成/低优先级计算节点。

lastBootTime

string (date-time)

上次启动计算节点的时间。 如果计算节点状态不可用,则此属性可能不存在。

nodeAgentInfo

BatchNodeAgentInfo

有关计算节点代理版本以及计算节点升级到新版本的时间的信息。

recentTasks

BatchTaskInfo[]

最近更改其状态的任务列表。 仅当至少一个任务已在此计算节点上运行,因为该任务已分配给池,此属性才存在。

runningTaskSlotsCount

integer (int32)

当前在计算节点上运行作业任务的计划槽总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。

runningTasksCount

integer (int32)

计算节点上当前正在运行的作业任务的总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。

schedulingState

SchedulingState

计算节点是否可用于任务计划。

startTask

BatchStartTask

指定要在计算节点上运行的任务,因为它加入池。

startTaskInfo

BatchStartTaskInfo

有关在计算节点上执行 StartTask 的运行时信息。

state

BatchNodeState

计算节点的当前状态。

stateTransitionTime

string (date-time)

计算节点进入其当前状态的时间。

totalTasksRun

integer (int32)

计算节点上完成的作业任务总数。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。

totalTasksSucceeded

integer (int32)

计算节点上成功完成的作业任务总数(带有 exitCode 0)。 这包括作业管理器任务和常规任务,但不包括作业准备、作业发布或启动任务。

url

string (uri)

计算节点的 URL。

virtualMachineInfo

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

InboundEndpoint[]

计算节点上可访问的入站端点列表。

BatchNodeError

计算节点遇到的错误。

名称 类型 说明
code

string

计算节点错误的标识符。 代码是固定的,旨在以编程方式使用。

errorDetails

NameValuePair[]

与计算节点错误相关的额外错误细节列表。

message

string

描述计算节点错误的消息,旨在用于用户界面显示。

BatchNodeIdentityReference

对与计算节点将使用的 Batch 池关联的用户分配标识的引用。

名称 类型 说明
resourceId

string (arm-id)

用户分配标识的 ARM 资源 ID。

BatchNodeListResult

列出池中的计算节点的结果。

名称 类型 说明
odata.nextLink

string (uri)

用于获取下一组结果的 URL。

value

BatchNode[]

计算节点列表。

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

BatchTaskContainerSettings

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

environmentSettings

EnvironmentSetting[]

StartTask 的环境变量设置列表。

maxTaskRetryCount

integer (int32)

可以重试任务的最大次数。 如果 Batch 服务退出代码为非零,则重试任务。 请注意,此值专门控制重试次数。 Batch 服务将尝试一次任务,然后可能会重试到此限制。 例如,如果最大重试计数为 3,Batch 将尝试任务最多 4 次(一次初始尝试和 3 次重试)。 如果最大重试计数为 0,Batch 服务不会重试任务。 如果最大重试计数为 -1,Batch 服务将重试任务,但不建议用于启动任务或任何任务。 默认值为 0(无重试)。

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

waitForSuccess

boolean

在计划计算节点上的任何任务之前,Batch 服务是否应等待 StartTask 成功完成(即退出代码 0)。 如果 True 且 StartTask 在节点上失败,Batch 服务将重试 StartTask,最大重试计数(maxTaskRetryCount)。 如果任务在所有重试后仍未成功完成,则 Batch 服务会标记节点不可用,并且不会为其计划任务。 可以通过计算节点状态和故障信息详细信息来检测此条件。 如果为 false,Batch 服务不会等待 StartTask 完成。 在这种情况下,在 StartTask 仍在运行时,其他任务可以开始在计算节点上执行;即使 StartTask 失败,新任务将继续在计算节点上计划。 默认值为 true。

BatchStartTaskInfo

有关在计算节点上运行的 StartTask 的信息。

名称 类型 说明
containerInfo

BatchTaskContainerExecutionInfo

关于任务执行容器的信息。 该属性仅在任务在容器上下文中运行时设置。

endTime

string (date-time)

启动任务停止运行的时间。 这是最近一次 StartTask 运行的结束时间,如果该运行已完成(即使该运行失败且重试仍在等待中)。 如果启动任务当前运行,则该元素不存在。

exitCode

integer (int32)

程序的退出代码在 StartTask 命令行中指定。 该属性仅在 StartTask 处于完成状态时设置。 一般来说,进程的出口代码反映了应用开发者为该进程实现的特定约定。 如果你用退出代码值来做代码决策,务必了解应用过程中使用的退出代码惯例。 然而,如果批处理服务因超时或用户通过API终止启动任务,你可能会看到作系统定义的退出代码。

failureInfo

BatchTaskFailureInfo

描述任务失败的信息(如果有的话)。 该属性仅在任务处于完成状态并遇到失败时设置。

lastRetryTime

string (date-time)

最近一次任务重试开始运行。 该元素仅在任务被重试时出现(即retryCount非零)。 如果存在,通常与 startTime 相同,但如果任务因非重试原因被重启,可能会不同;例如,如果计算节点在重试过程中被重启,那么startTime会更新,但lastRetryTime不会更新。

result

BatchTaskExecutionResult

任务执行的结果。 如果该值为“失败”,那么失败的详细信息可以在 failureInfo 属性中找到。

retryCount

integer (int32)

任务被批处理服务重试的次数。 任务应用失败(非零退出码)会重试,预处理错误(任务无法执行)和文件上传错误不会重试。 批处理服务会在约束限制范围内重试任务。

startTime

string (date-time)

启动任务开始运行的时间。 每次任务重启或重试时(即这是启动任务最近开始运行的时间),该值都会被重置。

state

BatchStartTaskState

计算节点上的StartTask状态。

BatchStartTaskState

BatchStartTaskState 枚举

说明
running

启动任务目前正在运行。

completed

启动任务以退出代码0退出,或启动任务失败且重试次数已达上限,或因任务准备错误(如资源文件下载失败)而未运行。

BatchTaskContainerExecutionInfo

包含有关任务正在执行的容器的信息。

名称 类型 说明
containerId

string

容器的 ID。

error

string

关于容器的详细错误信息。 这是Docker服务中详细的错误字符串(如果有的话)。 它等同于“docker inspect”返回的错误字段。

state

string

集装箱的状态。 这是根据 Docker 服务显示的容器状态。 它等同于“docker inspect”返回的status字段。

BatchTaskContainerSettings

任务的容器设置。

名称 类型 说明
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

要装载到容器任务的路径。 如果此数组为 null 或不存在,容器任务将在 Windows 中装载整个临时磁盘驱动器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此数组设置为空,则不会将任何数据路径装载到容器中。

containerRunOptions

string

容器创建命令的其他选项。 除了 Batch 服务控制的选项外,这些附加选项还作为“docker create”命令的参数提供。

imageName

string

用于创建任务运行容器的图片。 这是完整的映像引用,正如“docker pull”中指定的那样。 如果图片名称中没有提供标签,默认使用标签“:latest”。

registry

ContainerRegistryReference

包含容器镜像的私有注册表。 如果在创建池时已经提供了该设置,可以省略。

workingDirectory

ContainerWorkingDirectory

容器任务工作目录的位置。 默认值为“taskWorkingDirectory”。

BatchTaskExecutionInfo

有关任务执行的信息。

名称 类型 说明
containerInfo

BatchTaskContainerExecutionInfo

关于任务执行容器的信息。 该属性仅在任务在容器上下文中运行时设置。

endTime

string (date-time)

任务完成的时间。 该属性仅在任务处于完成状态时设置。

exitCode

integer (int32)

任务命令行中指定的程序退出代码。 该属性仅在任务处于完成状态时设置。 一般来说,进程的出口代码反映了应用开发者为该进程实现的特定约定。 如果你用退出代码值来做代码决策,务必了解应用过程中使用的退出代码惯例。 然而,如果批处理服务因超时或用户通过API终止任务而终止任务,你可能会看到作系统定义的退出码。

failureInfo

BatchTaskFailureInfo

描述任务失败的信息(如果有的话)。 该属性仅在任务处于完成状态并遇到失败时设置。

lastRequeueTime

string (date-time)

任务最近一次因用户请求而被批处理服务重新排队的时间点。 该属性仅在 requeueCount 非零时设置。

lastRetryTime

string (date-time)

最近一次任务重试开始运行。 该元素仅在任务被重试时出现(即retryCount非零)。 如果存在,通常与 startTime 相同,但如果任务因非重试原因被重启,可能会不同;例如,如果计算节点在重试过程中被重启,那么startTime会更新,但lastRetryTime不会更新。

requeueCount

integer (int32)

任务因用户请求而被批处理服务重新排队的次数。 当用户通过调整/缩小池来移除计算节点或作业被禁用时,用户可以指定计算节点上的任务重新排队执行。 该计数记录了任务因这些原因被重新排队的次数。

result

BatchTaskExecutionResult

任务执行的结果。 如果该值为“失败”,那么失败的详细信息可以在 failureInfo 属性中找到。

retryCount

integer (int32)

任务被批处理服务重试的次数。 任务应用失败(非零退出码)会重试,预处理错误(任务无法执行)和文件上传错误不会重试。 批处理服务会在约束限制范围内重试任务。

startTime

string (date-time)

任务开始运行的时间。 “运行中”对应于运行状态,因此如果任务指定了资源文件或包,那么启动时间反映了任务开始下载或部署这些文件的时间。 如果任务已被重启或重试,则该任务最近一次开始运行。 该属性仅适用于处于运行中或已完成状态的任务。

BatchTaskExecutionResult

BatchTaskExecutionResult 枚举

说明
success

任务顺利进行。

failure

任务处理过程中出现了错误。 失败可能发生在任务进程启动前、任务进程执行中,或任务进程退出后。

BatchTaskFailureInfo

有关任务失败的信息。

名称 类型 说明
category

BatchErrorSourceCategory

任务错误的类别。

code

string

任务错误的标识符。 代码是固定的,旨在以编程方式使用。

details

NameValuePair[]

与该错误相关的额外细节列表。

message

string

描述任务错误的消息,旨在用于用户界面显示。

BatchTaskInfo

有关在计算节点上运行的任务的信息。

名称 类型 说明
executionInfo

BatchTaskExecutionInfo

关于任务执行的信息。

jobId

string

任务所属的作业ID。

subtaskId

integer (int32)

如果任务是多实例任务,则该子任务的ID。

taskId

string

任务的ID。

taskState

BatchTaskState

任务的现状。

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

装载到容器客户的路径可以选择。

ContainerHostDataPath

将装载到容器任务的容器的路径。

说明
Shared

用于共享其文件的多实例任务的路径。

Startup

启动任务的路径。

VfsMounts

该路径包含此节点上装载的所有虚拟文件系统。

Task

任务路径。

JobPrep

作业准备任务路径。

Applications

应用程序路径。

ContainerRegistryReference

专用容器注册表。

名称 类型 说明
identityReference

BatchNodeIdentityReference

对用于访问 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

InboundEndpointProtocol

终结点的协议。

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

BatchNodeIdentityReference

指的是用来访问 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

AutoUserSpecification

任务运行的自动用户。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。

username

string

任务运行时所用的用户身份名称。 userName 和 autoUser 属性互斥;必须指定一个,但不能同时指定两者。

VirtualMachineInfo

有关虚拟机的当前状态的信息。

名称 类型 说明
imageReference

BatchVmImageReference

这是对Azure虚拟机市场镜像的引用。

scaleSetVmResourceId

string

计算节点当前虚拟机规模集虚拟机的资源ID。 只有在批量账户创建时,其 poolAllocationMode 属性设置为“UserSubscription”时才定义。