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

Compute Node - Get

获取有关指定计算节点的信息。

GET {batchUrl}/pools/{poolId}/nodes/{nodeId}?api-version=2024-07-01.20.0
GET {batchUrl}/pools/{poolId}/nodes/{nodeId}?$select={$select}&timeout={timeout}&api-version=2024-07-01.20.0

URI 参数

名称 必需 类型 说明
batchUrl
path True

string

所有 Azure Batch 服务请求的基本 URL。

nodeId
path True

string

要获取相关信息的计算节点的 ID。

poolId
path True

string

包含计算节点的池的 ID。

api-version
query True

string

客户端 API 版本。

$select
query

string

OData $select 子句。

timeout
query

integer

int32

服务器处理请求的最长时间(以秒为单位)。 默认值为 30 秒。 如果该值大于 30,则改用默认值。

请求头

Media Types: "application/json; odata=minimalmetadata"

名称 必需 类型 说明
client-request-id

string

uuid

调用方生成的请求标识,采用不带大括号的 GUID 形式,例如 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0。

return-client-request-id

boolean

服务器是否应在响应中返回 client-request-id。

ocp-date

string

date-time-rfc1123

发出请求的时间。 客户端库通常将此设置为当前的系统时钟时间;如果直接调用 REST API,请显式设置它。

响应

名称 类型 说明
200 OK

ComputeNode

包含计算节点的响应。

标头

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

BatchError

Batch 服务中的错误。

安全性

azure_auth

Microsoft Entra OAuth 2.0 身份验证代码流

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

Authorization

类型: apiKey
在: header

示例

Node get

示例请求

GET account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z?api-version=2024-07-01.20.0


示例响应

{
  "id": "tvm-1695681911_2-20161122t193202z",
  "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
  "state": "idle",
  "schedulingState": "enabled",
  "stateTransitionTime": "2016-11-22T19:37:31.4285526Z",
  "lastBootTime": "2016-11-22T19:37:28.623369Z",
  "allocationTime": "2016-11-22T19:32:02.8155319Z",
  "ipAddress": "1.1.1.1",
  "affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
  "vmSize": "small",
  "totalTasksRun": 0,
  "totalTasksSucceeded": 0,
  "runningTasksCount": 0,
  "isDedicated": true,
  "startTask": {
    "commandLine": "cmd /c echo hello",
    "userIdentity": {
      "autoUser": {
        "scope": "task",
        "elevationLevel": "nonadmin"
      }
    },
    "maxTaskRetryCount": 0,
    "waitForSuccess": false
  },
  "startTaskInfo": {
    "state": "completed",
    "startTime": "2016-11-22T19:37:31.4285526Z",
    "endTime": "2016-11-22T19:37:31.838028Z",
    "exitCode": 0,
    "retryCount": 0
  },
  "nodeAgentInfo": {
    "version": "1.2.0.0",
    "lastUpdateTime": "2016-11-22T19:37:28.623369Z"
  }
}

定义

名称 说明
AutoUserScope

自动用户的范围

AutoUserSpecification

指定在 Batch 服务上运行 Task 的自动用户的参数。

BatchError

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

BatchErrorDetail

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

CertificateReference

对要安装在池中的计算节点上的证书的引用。

CertificateStoreLocation

要在其中安装证书的计算节点上证书存储的位置。

CertificateVisibility

计算节点上的哪些用户帐户应有权访问证书的专用数据。

ComputeNode

Batch 服务中的计算节点。

ComputeNodeEndpointConfiguration

计算节点的终结点配置。

ComputeNodeError

计算节点遇到的错误。

ComputeNodeIdentityReference

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

ComputeNodeState

计算节点的当前状态。

ContainerHostBatchBindMountEntry

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

ContainerHostDataPath

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

ContainerRegistry

专用容器注册表。

ContainerWorkingDirectory

容器任务工作目录的位置。

ElevationLevel

用户的提升级别。

EnvironmentSetting

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

ErrorCategory

错误的类别。

ErrorMessage

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

ImageReference

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

InboundEndpoint

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

InboundEndpointProtocol

终结点的协议。

NameValuePair

表示名称/值对。

NodeAgentInformation

有关计算节点代理的信息。

ResourceFile

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

SchedulingState

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

StartTask

当节点加入 Azure Batch 服务中的池或重新启动或重新映像计算节点时运行的任务。

StartTaskInformation

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

StartTaskState

计算节点上 StartTask 的状态。

TaskContainerExecutionInformation

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

TaskContainerSettings

任务的容器设置。

TaskExecutionInformation

有关任务执行的信息。

TaskExecutionResult

任务执行的结果。

TaskFailureInformation

有关任务失败的信息。

TaskInformation

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

TaskState

任务的状态。

UserIdentity

运行任务的用户标识的定义。

VirtualMachineInfo

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

AutoUserScope

自动用户的范围

名称 类型 说明
pool

string

指定任务作为在池中的每个计算节点上创建的通用自动用户帐户运行。

task

string

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

AutoUserSpecification

指定在 Batch 服务上运行 Task 的自动用户的参数。

名称 类型 说明
elevationLevel

ElevationLevel

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

scope

AutoUserScope

自动用户的范围
默认值为池。 如果池正在运行 Windows,则应指定任务值(如果需要在任务之间进行更严格的隔离)。 例如,如果任务以可能影响其他任务的方式改变注册表,或者已在池中指定了证书,而该池中不应通过正常任务访问,但应可由 StartTasks 访问。

BatchError

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

名称 类型 说明
code

string

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

message

ErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

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

名称 类型 说明
key

string

指定 Value 属性含义的标识符。

value

string

错误响应附带的其他信息。

CertificateReference

对要安装在池中的计算节点上的证书的引用。

名称 类型 说明
storeLocation

CertificateStoreLocation

要在其中安装证书的计算节点上证书存储的位置。
默认值为 currentuser。 此属性仅适用于使用 Windows 计算节点配置的池。 对于 Linux 计算节点,证书存储在 Task 工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“证书”目录,并将证书置于该目录中。

storeName

string

要在其中安装证书的计算节点上的证书存储的名称。
此属性仅适用于使用 Windows 计算节点配置的池。 常见的存储名称包括:My、Root、CA、Trust、Trustallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定义存储名称。 默认值为“我的”。

thumbprint

string

证书的指纹。

thumbprintAlgorithm

string

指纹关联的算法。 这必须是 sha1。

visibility

CertificateVisibility[]

计算节点上的哪些用户帐户应有权访问证书的专用数据。
可以在此集合中指定多个可见性。 默认值为所有帐户。

CertificateStoreLocation

要在其中安装证书的计算节点上证书存储的位置。

名称 类型 说明
currentuser

string

证书应安装到 CurrentUser 证书存储。

localmachine

string

证书应安装到 LocalMachine 证书存储。

CertificateVisibility

计算节点上的哪些用户帐户应有权访问证书的专用数据。

名称 类型 说明
remoteuser

string

证书应该对用户远程访问计算节点的用户帐户可见。

starttask

string

证书应该对运行 StartTask 的用户帐户可见。 请注意,如果 AutoUser 作用域是 StartTask 和 Task 的池,则此证书也将对任务可见。

task

string

证书应该对运行作业任务的用户帐户可见。

ComputeNode

Batch 服务中的计算节点。

名称 类型 说明
affinityId

string

添加任务以请求在此计算节点上计划任务时传递的标识符。
请注意,这只是软相关性。 如果目标计算节点在计划任务时繁忙或不可用,则任务将在其他位置进行计划。

allocationTime

string

此计算节点分配给池的时间。
这是计算节点最初分配的时间,设置后不会更改。 当计算节点被服务治愈或抢占时,它不会更新。

certificateReferences

CertificateReference[]

在计算节点上安装的证书列表。
对于 Windows 节点,Batch 服务会将证书安装到指定的证书存储和位置。 对于 Linux 计算节点,证书存储在 Task 工作目录中的目录中,并向任务提供环境变量AZ_BATCH_CERTIFICATES_DIR以查询此位置。 对于可见性为“remoteUser”的证书,将在用户的主目录中(例如 /home/{user-name}/certs)中创建一个“证书”目录,并将证书置于该目录中。

警告:此属性已弃用,将在 2024 年 2 月之后删除。 请改用 Azure KeyVault 扩展

endpointConfiguration

ComputeNodeEndpointConfiguration

计算节点的终结点配置。

errors

ComputeNodeError[]

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

id

string

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

ipAddress

string

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

isDedicated

boolean

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

lastBootTime

string

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

nodeAgentInfo

NodeAgentInformation

有关计算节点代理版本以及计算节点升级到新版本的时间的信息。
Batch 计算节点代理是在池中的每个计算节点上运行的程序,并在计算节点上提供 Batch 功能。

recentTasks

TaskInformation[]

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

runningTaskSlotsCount

integer

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

runningTasksCount

integer

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

schedulingState

SchedulingState

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

startTask

StartTask

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

startTaskInfo

StartTaskInformation

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

state

ComputeNodeState

计算节点的当前状态。
现成/低优先级计算节点已被抢占。 当计算节点被抢占时在计算节点上运行的任务将在另一个计算节点可用时重新计划。

stateTransitionTime

string

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

totalTasksRun

integer

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

totalTasksSucceeded

integer

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

url

string

计算节点的 URL。

virtualMachineInfo

VirtualMachineInfo

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

vmSize

string

托管计算节点的虚拟机的大小。
有关池中虚拟机的可用大小的信息,请参阅为 Azure Batch 池中的计算节点选择 VM 大小(https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)。

ComputeNodeEndpointConfiguration

计算节点的终结点配置。

名称 类型 说明
inboundEndpoints

InboundEndpoint[]

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

ComputeNodeError

计算节点遇到的错误。

名称 类型 说明
code

string

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

errorDetails

NameValuePair[]

与计算节点错误相关的其他错误详细信息的列表。

message

string

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

ComputeNodeIdentityReference

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

名称 类型 说明
resourceId

string

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

ComputeNodeState

计算节点的当前状态。

名称 类型 说明
creating

string

Batch 服务已从 Azure 计算获取基础虚拟机,但尚未开始加入池。

deallocated

string

计算节点已解除分配。

deallocating

string

计算节点正在解除分配。

idle

string

计算节点当前未运行任务。

leavingpool

string

计算节点正在离开池,要么是因为用户显式删除了池,要么是因为池正在调整大小或自动缩放。

offline

string

计算节点当前未运行任务,并且已禁用将新任务计划到计算节点。

preempted

string

现成/低优先级计算节点已被抢占。 当计算节点被抢占时在计算节点上运行的任务将在另一个计算节点可用时重新计划。

rebooting

string

计算节点正在重新启动。

reimaging

string

计算节点正在重新映像。

running

string

计算节点正在运行一个或多个任务(而不是 StartTask)。

starting

string

Batch 服务正在基础虚拟机上启动。

starttaskfailed

string

StartTask 在计算节点上失败(并耗尽了所有重试),并设置了 waitForSuccess。 计算节点不适用于运行任务。

unknown

string

Batch 服务已与计算节点失去联系,并且不知道其真实状态。

unusable

string

由于错误,计算节点不能用于任务执行。

upgradingos

string

计算节点正在进行 OS 升级操作。

waitingforstarttask

string

StartTask 已开始在计算节点上运行,但 waitForSuccess 已设置,并且 StartTask 尚未完成。

ContainerHostBatchBindMountEntry

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

名称 类型 说明
isReadOnly

boolean

将此源路径装载为只读模式或不装载。 默认值为 false(读/写模式)。
对于 Linux,如果将此路径装载为读/写模式,这并不意味着容器中的所有用户都具有路径的读/写访问权限,这取决于主机 VM 中的访问。 如果此路径装载为只读,则容器中的所有用户将无法修改路径。

source

ContainerHostDataPath

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

ContainerHostDataPath

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

名称 类型 说明
Applications

string

应用程序路径。

JobPrep

string

作业准备任务路径。

Shared

string

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

Startup

string

启动任务的路径。

Task

string

任务路径。

VfsMounts

string

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

ContainerRegistry

专用容器注册表。

名称 类型 说明
identityReference

ComputeNodeIdentityReference

对用于访问 Azure 容器注册表(而不是用户名和密码)的用户分配标识的引用。
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。

password

string

登录到注册表服务器的密码。

registryServer

string

注册表 URL。
如果省略,则默认值为“docker.io”。

username

string

要登录到注册表服务器的用户名。

ContainerWorkingDirectory

容器任务工作目录的位置。

名称 类型 说明
containerImageDefault

string

使用容器映像中定义的工作目录。 请注意,此目录将不包含 Batch 下载的资源文件。

taskWorkingDirectory

string

使用标准 Batch 服务任务工作目录,其中包含由 Batch 填充的任务资源文件。

ElevationLevel

用户的提升级别。

名称 类型 说明
admin

string

用户是具有提升访问权限并具有完全管理员权限的用户。

nonadmin

string

用户是没有提升访问权限的标准用户。

EnvironmentSetting

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

名称 类型 说明
name

string

环境变量的名称。

value

string

环境变量的值。

ErrorCategory

错误的类别。

名称 类型 说明
servererror

string

此错误是由于内部服务器问题造成的。

usererror

string

错误是由于用户问题,例如配置错误。

ErrorMessage

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

名称 类型 说明
lang

string

错误消息的语言代码

value

string

消息的文本。

ImageReference

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

名称 类型 说明
communityGalleryImageId

string

社区库映像唯一标识符
此属性与其他属性互斥,可以从社区库映像 GET 调用中提取。

exactVersion

string

用于创建节点的平台映像或市场映像的特定版本。 仅当创建池时为“version”指定的值为“latest”时,此只读字段与“version”不同。

offer

string

Azure 虚拟机市场映像的产品/服务类型。
例如,UbuntuServer 或 WindowsServer。

publisher

string

Azure 虚拟机市场映像的发布者。
例如,Canonical 或 MicrosoftWindowsServer。

sharedGalleryImageId

string

共享库映像唯一标识符
此属性与其他属性互斥,可以从共享库映像 GET 调用中提取。

sku

string

Azure 虚拟机市场映像的 SKU。
例如,18.04-LTS 或 2019-Datacenter。

version

string

Azure 虚拟机市场映像的版本。
可以指定值“latest”以选择最新版本的映像。 如果省略,则默认值为“latest”。

virtualMachineImageId

string

Azure 计算库映像的 ARM 资源标识符。 池中的计算节点将使用此映像 ID 创建。此格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} 或 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageDefinitionName},以始终默认为最新映像版本。
此属性与其他 ImageReference 属性互斥。 Azure 计算库映像必须在同一区域中具有副本,并且必须与 Azure Batch 帐户位于同一订阅中。 如果未在 imageId 中指定映像版本,将使用最新版本。 有关 Batch 计算节点代理与 Batch 服务通信的防火墙设置的信息,请参阅 https://docs.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration

InboundEndpoint

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

名称 类型 说明
backendPort

integer

终结点的后端端口号。

frontendPort

integer

终结点的公共端口号。

name

string

终结点的名称。

protocol

InboundEndpointProtocol

终结点的协议。

publicFQDN

string

计算节点的公共完全限定域名。

publicIPAddress

string

计算节点的公共 IP 地址。

InboundEndpointProtocol

终结点的协议。

名称 类型 说明
tcp

string

对终结点使用 TCP。

udp

string

对终结点使用 UDP。

NameValuePair

表示名称/值对。

名称 类型 说明
name

string

名称值对中的名称。

value

string

名称值对中的值。

NodeAgentInformation

有关计算节点代理的信息。

名称 类型 说明
lastUpdateTime

string

计算节点代理在计算节点上更新的时间。
这是计算节点代理最近更新到新版本的时间。

version

string

在计算节点上运行的 Batch 计算节点代理的版本。
可以根据位于 https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md的计算节点代理发行说明检查此版本号。

ResourceFile

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

名称 类型 说明
autoStorageContainerName

string

自动存储帐户中的存储容器名称。
autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。

blobPrefix

string

从 Azure 存储容器下载 Blob 时要使用的 Blob 前缀。 仅下载名称以指定前缀开头的 blob。
仅当使用 autoStorageContainerName 或 storageContainerUrl 时,该属性才有效。 此前缀可以是部分文件名或子目录。 如果未指定前缀,则会下载容器中的所有文件。

fileMode

string

以八进制格式的文件权限模式属性。
此属性仅适用于下载到 Linux 计算节点的文件。 如果为将下载到 Windows 计算节点的 resourceFile 指定,将忽略它。 如果未为 Linux 计算节点指定此属性,则会将默认值 0770 应用于该文件。

filePath

string

要下载文件(s)的计算节点上相对于任务的工作目录的位置。
如果指定了 httpUrl 属性,则需要 filePath,并描述文件将下载到的路径,包括文件名。 否则,如果指定 autoStorageContainerName 或 storageContainerUrl 属性,则 filePath 是可选的,并且是将文件下载到的目录。 如果 filePath 用作目录,则与输入数据关联的任何目录结构都将完整保留并追加到指定的 filePath 目录。 指定的相对路径不能脱离 Task 的工作目录(例如,使用'..')。

httpUrl

string

要下载的文件的 URL。
autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 如果 URL 指向 Azure Blob 存储,则必须从计算节点读取该 URL。 可通过三种方法获取 Azure 存储中 Blob 的此类 URL:包括授予对 Blob 的读取权限的共享访问签名(SAS),使用具有读取权限的托管标识,或为 Blob 或其容器设置 ACL 以允许公共访问。

identityReference

ComputeNodeIdentityReference

对用户分配的标识的引用,用于访问由 storageContainerUrl 或 httpUrl 指定的 Azure Blob 存储
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。

storageContainerUrl

string

Azure Blob 存储中 Blob 容器的 URL。
autoStorageContainerName、storageContainerUrl 和 httpUrl 属性互斥,必须指定其中一个属性。 此 URL 必须可从计算节点读取和列出。 可通过三种方法获取 Azure 存储中容器的此类 URL:包括授予对容器的读取和列表权限的共享访问签名(SAS),使用具有读取和列表权限的托管标识,或为容器设置 ACL 以允许公共访问。

SchedulingState

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

名称 类型 说明
disabled

string

不会在计算节点上计划新任务。 在计算节点上运行的任务仍可能运行到完成。 所有计算节点都从启用计划开始。

enabled

string

可以在计算节点上计划任务。

StartTask

当节点加入 Azure Batch 服务中的池或重新启动或重新映像计算节点时运行的任务。

名称 类型 说明
commandLine

string

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

containerSettings

TaskContainerSettings

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

environmentSettings

EnvironmentSetting[]

StartTask 的环境变量设置列表。

maxTaskRetryCount

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

waitForSuccess

boolean

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

StartTaskInformation

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

名称 类型 说明
containerInfo

TaskContainerExecutionInformation

有关任务正在执行的容器的信息。
仅当任务在容器上下文中运行时,才会设置此属性。

endTime

string

StartTask 停止运行的时间。
这是 StartTask 最近运行的结束时间(如果该运行已完成(即使该运行失败且重试挂起)。 如果 StartTask 当前正在运行,则此元素不存在。

exitCode

integer

StartTask 命令行中指定的程序的退出代码。
仅当 StartTask 处于已完成状态时,才会设置此属性。 通常,进程的退出代码反映了应用程序开发人员为该过程实现的特定约定。 如果使用退出代码值在代码中做出决策,请确保知道应用程序进程使用的退出代码约定。 但是,如果 Batch 服务终止 StartTask(由于超时或用户通过 API 终止),可能会看到操作系统定义的退出代码。

failureInfo

TaskFailureInformation

描述任务失败的信息(如果有)。
仅当任务处于已完成状态且遇到失败时,才会设置此属性。

lastRetryTime

string

最近一次,任务重试开始运行。
仅当重试任务(即 retryCount 为非零)时,此元素才存在。 如果存在,这通常与 startTime 相同,但如果任务因重试以外的原因而重新启动,则可能会有所不同;例如,如果在重试期间重新启动了计算节点,则 startTime 会更新,但 lastRetryTime 不是。

result

TaskExecutionResult

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

retryCount

integer

Batch 服务重试任务次数。
重试任务应用程序失败(非零退出代码),预处理错误(无法运行任务),并且不会重试文件上传错误。 Batch 服务将按约束指定的限制重试任务。

startTime

string

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

state

StartTaskState

计算节点上 StartTask 的状态。

StartTaskState

计算节点上 StartTask 的状态。

名称 类型 说明
completed

string

StartTask 已退出并出现退出代码 0,或者 StartTask 已失败且已达到重试限制,或者由于任务准备错误(例如资源文件下载失败)而未运行 StartTask 进程。

running

string

StartTask 当前正在运行。

TaskContainerExecutionInformation

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

名称 类型 说明
containerId

string

容器的 ID。

error

string

有关容器的详细错误信息。
这是 Docker 服务的详细错误字符串(如果可用)。 它等效于“docker 检查”返回的错误字段。

state

string

容器的状态。
这是容器的状态,根据 Docker 服务。 它等效于“docker 检查”返回的状态字段。

TaskContainerSettings

任务的容器设置。

名称 类型 说明
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

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

containerRunOptions

string

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

imageName

string

用于创建任务将在其中运行容器的映像。
这是完整的映像引用,如指定为“docker pull”。 如果未将标记作为映像名称的一部分提供,则标记“:latest”将用作默认值。

registry

ContainerRegistry

包含容器映像的专用注册表。
如果在创建池时已提供此设置,则可以省略此设置。

workingDirectory

ContainerWorkingDirectory

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

TaskExecutionInformation

有关任务执行的信息。

名称 类型 说明
containerInfo

TaskContainerExecutionInformation

有关任务正在执行的容器的信息。
仅当任务在容器上下文中运行时,才会设置此属性。

endTime

string

任务完成的时间。
仅当任务处于“已完成”状态时,才会设置此属性。

exitCode

integer

任务命令行上指定的程序的退出代码。
仅当任务处于已完成状态时,才会设置此属性。 通常,进程的退出代码反映了应用程序开发人员为该过程实现的特定约定。 如果使用退出代码值在代码中做出决策,请确保知道应用程序进程使用的退出代码约定。 但是,如果 Batch 服务终止任务(由于超时或用户通过 API 终止),可能会看到操作系统定义的退出代码。

failureInfo

TaskFailureInformation

描述任务失败的信息(如果有)。
仅当任务处于已完成状态且遇到失败时,才会设置此属性。

lastRequeueTime

string

由于用户请求,Batch 服务最近一次重新排队任务。
仅当 requeueCount 为非零时,才会设置此属性。

lastRetryTime

string

最近一次,任务重试开始运行。
仅当重试任务(即 retryCount 为非零)时,此元素才存在。 如果存在,这通常与 startTime 相同,但如果任务因重试以外的原因而重新启动,则可能会有所不同;例如,如果在重试期间重新启动了计算节点,则 startTime 会更新,但 lastRetryTime 不是。

requeueCount

integer

由于用户请求,任务已由 Batch 服务重新排队的次数。
当用户从池中删除计算节点(通过调整池大小/缩小池)或禁用作业时,用户可以指定重新排队在计算节点上运行的任务以供执行。 此计数跟踪任务因这些原因重新排队的次数。

result

TaskExecutionResult

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

retryCount

integer

Batch 服务重试任务次数。
重试任务应用程序失败(非零退出代码),预处理错误(无法运行任务),并且不会重试文件上传错误。 Batch 服务将按约束指定的限制重试任务。

startTime

string

任务开始运行的时间。
“Running”对应于运行状态,因此,如果任务指定资源文件或包,则开始时间反映任务开始下载或部署这些文件的时间。 如果任务已重启或重试,则这是任务开始运行的最新时间。 此属性仅适用于处于正在运行或已完成状态的任务。

TaskExecutionResult

任务执行的结果。

名称 类型 说明
failure

string

处理任务期间出错。 在启动任务进程、执行任务进程或任务进程退出之前,可能会发生失败。

success

string

任务已成功运行。

TaskFailureInformation

有关任务失败的信息。

名称 类型 说明
category

ErrorCategory

任务错误的类别。

code

string

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

details

NameValuePair[]

与错误相关的其他详细信息的列表。

message

string

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

TaskInformation

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

名称 类型 说明
executionInfo

TaskExecutionInformation

有关任务执行的信息。

jobId

string

任务所属的作业的 ID。

subtaskId

integer

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

taskId

string

任务的 ID。

taskState

TaskState

任务的当前状态。

taskUrl

string

任务的 URL。

TaskState

任务的状态。

名称 类型 说明
active

string

任务已排队且能够运行,但当前未分配给计算节点。 任务在创建时、禁用后启用或等待失败运行后重试时进入此状态。

completed

string

任务不再有资格运行,通常是因为任务已成功完成,或者任务未成功且已耗尽其重试限制。 如果启动任务时出错或任务已终止,则任务也会标记为已完成。

preparing

string

任务已分配给计算节点,但正在等待所需的作业准备任务在计算节点上完成。 如果作业准备任务成功,任务将移动到正在运行。 如果作业准备任务失败,该任务将返回到活动状态,并且有资格分配到其他计算节点。

running

string

任务在计算节点上运行。 这包括任务级准备,例如下载资源文件或部署任务中指定的包 - 不一定意味着任务命令行已开始执行。

UserIdentity

运行任务的用户标识的定义。

名称 类型 说明
autoUser

AutoUserSpecification

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

username

string

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

VirtualMachineInfo

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

名称 类型 说明
imageReference

ImageReference

对 Azure 虚拟机市场映像的引用。

scaleSetVmResourceId

string

计算节点的当前虚拟机规模集 VM 的资源 ID。 仅当 Batch 帐户创建时,才将其 poolAllocationMode 属性设置为“UserSubscription”。