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

Job - Get

获取有关指定作业的信息。

GET {batchUrl}/jobs/{jobId}?api-version=2023-11-01.18.0
GET {batchUrl}/jobs/{jobId}?$select={$select}&$expand={$expand}&timeout={timeout}&api-version=2023-11-01.18.0

URI 参数

名称 必需 类型 说明
batchUrl
path True

string

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

jobId
path True

string

作业的 ID。

api-version
query True

string

客户端 API 版本。

$expand
query

string

OData $expand 子句。

$select
query

string

OData $select 子句。

timeout
query

integer

int32

服务器可以花费处理请求的最长时间(以秒为单位)。 默认为 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,请显式设置它。

If-Match

string

与客户端已知的资源版本关联的 ETag 值。 仅当服务上的资源当前 ETag 与客户端指定的值完全匹配时,才会执行该操作。

If-None-Match

string

与客户端已知的资源版本关联的 ETag 值。 仅当服务上的资源当前 ETag 与客户端指定的值不匹配时,才会执行该操作。

If-Modified-Since

string

date-time-rfc1123

一个时间戳,指示客户端已知的资源的上次修改时间。 仅当服务上的资源自指定时间以来已修改时,才会执行该操作。

If-Unmodified-Since

string

date-time-rfc1123

一个时间戳,指示客户端已知的资源的上次修改时间。 仅当服务上的资源自指定时间以来未修改时,才会执行该操作。

响应

名称 类型 说明
200 OK

CloudJob

包含作业的响应。

Headers

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

BatchError

Batch 服务中的错误。

安全性

azure_auth

Microsoft Entra OAuth 2.0 身份验证代码流

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名称 说明
user_impersonation 模拟用户帐户

Authorization

Type: apiKey
In: header

示例

Job get

Sample Request

GET account.region.batch.azure.com/jobs/jobId?api-version=2023-11-01.18.0


Sample Response

{
  "id": "jobId",
  "url": "https://account.region.batch.azure.com/jobs/jobId",
  "eTag": "0x8D4100FC49F0278",
  "lastModified": "2016-11-19T00:05:27.5391608Z",
  "creationTime": "2016-11-19T00:05:25.311915Z",
  "state": "completed",
  "stateTransitionTime": "2016-11-19T00:05:27.578581Z",
  "previousState": "active",
  "previousStateTransitionTime": "2016-11-19T00:05:27.2137716Z",
  "priority": 0,
  "maxParallelTasks": -1,
  "allowTaskPreemption": false,
  "usesTaskDependencies": false,
  "constraints": {
    "maxWallClockTime": "P10675199DT2H48M5.4775807S",
    "maxTaskRetryCount": 0
  },
  "poolInfo": {
    "poolId": "poolId"
  },
  "executionInfo": {
    "startTime": "2016-11-19T00:05:25.3309105Z",
    "endTime": "2016-11-19T00:05:27.578581Z",
    "poolId": "poolId",
    "terminateReason": "UserTerminate"
  },
  "onAllTasksComplete": "noaction",
  "onTaskFailure": "noaction"
}

定义

名称 说明
AccessScope

令牌向其授予访问权限的 Batch 资源。

ApplicationPackageReference

对要部署到计算节点的包的引用。

AuthenticationTokenSettings

任务可用于执行 Batch 服务操作的身份验证令牌的设置。

AutoPoolSpecification

指定临时“自动池”的特征。 提交作业时,Batch 服务将创建此自动池。

AutoUserScope

自动用户的作用域

AutoUserSpecification

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

AzureBlobFileSystemConfiguration

用于使用 Blobfuse 连接到 Azure 存储容器的信息。

AzureFileShareConfiguration

用于连接到 Azure 文件共享的信息。

BatchError

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

BatchErrorDetail

Azure Batch错误响应中包含的其他信息项。

CachingType

要为磁盘启用的缓存类型。

CertificateReference

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

CertificateStoreLocation

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

CertificateVisibility

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

CIFSMountConfiguration

用于连接到 CIFS 文件系统的信息。

CloudJob

Azure Batch作业。

CloudServiceConfiguration

基于 Azure 云服务 平台的池中计算节点的配置。

ComputeNodeFillType

任务如何跨池中的计算节点分布。

ComputeNodeIdentityReference

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

ContainerConfiguration

已启用容器的池的配置。

ContainerRegistry

专用容器注册表。

ContainerType

要使用的容器技术。

ContainerWorkingDirectory

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

DataDisk

与池中的计算节点关联的数据磁盘将使用的设置。 使用附加的数据磁盘时,需要从 VM 中装载和格式化磁盘,才能使用它们。

DiffDiskPlacement

指定池中所有计算节点 (VM) 操作系统磁盘的临时磁盘放置。

DiffDiskSettings

指定计算节点 (VM) 使用的操作系统磁盘的临时磁盘设置。

DiskEncryptionConfiguration

在池中的计算节点上应用的磁盘加密配置。 使用 Azure Compute Gallery Image 创建的 Linux 池不支持磁盘加密配置。

DiskEncryptionTarget

Batch 服务将在计算节点上加密的磁盘目标列表。

DynamicVNetAssignmentScope

动态 vnet 分配的范围。

ElevationLevel

用户的提升级别。

EnvironmentSetting

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

ErrorCategory

错误的类别。

ErrorMessage

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

HttpHeader

HTTP 标头名称/值对

ImageReference

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

InboundEndpointProtocol

终结点的协议。

InboundNATPool

一个入站 NAT 池,可用于在外部 Batch 池中对计算节点上的特定端口进行寻址。

IPAddressProvisioningType

池的公共 IP 地址的预配类型。

JobConstraints

作业的执行约束。

JobExecutionInformation

包含有关在Azure Batch服务中执行作业的信息。

JobManagerTask

指定作业管理器任务的详细信息。

JobNetworkConfiguration

作业的网络配置。

JobPreparationTask

在任何给定计算节点上作业的任何任务之前运行的作业准备任务。

JobReleaseTask

在作业运行的任何计算节点上的作业完成时运行的作业释放任务。

JobSchedulingError

Batch 服务在计划作业时遇到的错误。

JobState

作业的状态。

JobStatistics

作业的资源使用情况统计信息。

LinuxUserConfiguration

用于在 Linux 计算节点上创建用户帐户的属性。

LoginMode

用户的登录模式

ManagedDisk
MetadataItem

与 Batch 服务资源关联的名称/值对。

MountConfiguration

要在每个节点上装载的文件系统。

NameValuePair

表示一个名称-值对。

NetworkConfiguration

池的网络配置。

NetworkSecurityGroupRule

要应用于入站终结点的网络安全组规则。

NetworkSecurityGroupRuleAccess

应对指定的 IP 地址、子网范围或标记执行的操作。

NFSMountConfiguration

用于连接到 NFS 文件系统的信息。

NodeCommunicationMode

确定池如何与 Batch 服务通信。

NodePlacementConfiguration

池的节点放置配置。

NodePlacementPolicyType

用于在池中分配节点的放置策略。

OnAllTasksComplete

当作业中的所有任务都处于已完成状态时,Batch 服务应执行的操作。

OnTaskFailure

当作业中的任何任务失败时,Batch 服务应执行的操作。

OSDisk

计算节点的操作系统磁盘设置 (VM) 。

OutputFile

在 Batch 服务完成任务进程执行后,将文件从Azure Batch计算节点上传到另一个位置的规范。

OutputFileBlobContainerDestination

指定 Azure Blob 存储容器中的文件上传目标。

OutputFileDestination

文件应上传到的目标。

OutputFileUploadCondition

应上传 Task 输出文件或文件集的条件。

OutputFileUploadOptions

有关输出文件上传操作的详细信息,包括在什么条件下执行上传。

PoolEndpointConfiguration

池的终结点配置。

PoolInformation

指定应如何将作业分配给池。

PoolLifetimeOption

创建的自动池的最短生存期,以及如何按计划将多个作业分配给池。

PoolSpecification

创建新池的规范。

PublicIPAddressConfiguration

池的网络配置的公共 IP 地址配置。

ResourceFile

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

SecurityProfile

指定虚拟机或虚拟机规模集的安全配置文件设置。

SecurityTypes

指定虚拟机的 SecurityType。 必须将其设置为任何指定的值才能启用 UefiSettings。

ServiceArtifactReference

指定使用“最新”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。

StartTask

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

StorageAccountType

用于创建数据磁盘或 OS 磁盘的存储帐户类型。

TaskConstraints

要应用于 Task 的执行约束。

TaskContainerSettings

任务的容器设置。

TaskSchedulingPolicy

指定任务应如何跨计算节点分布。

UefiSettings

指定创建虚拟机时使用的安全设置,例如安全启动和 vTPM。

UserAccount

用于创建用户的属性,该用户用于在Azure Batch计算节点上执行任务。

UserIdentity

运行任务时所依据的用户标识的定义。

VirtualMachineConfiguration

基于 Azure 虚拟机 基础结构的池中计算节点的配置。

VMExtension

虚拟机扩展的配置。

WindowsConfiguration

要应用于虚拟机的 Windows 操作系统设置。

WindowsUserConfiguration

用于在 Windows 计算节点上创建用户帐户的属性。

AccessScope

令牌向其授予访问权限的 Batch 资源。

名称 类型 说明
job

string

授予对包含任务的作业执行所有操作的权限。

ApplicationPackageReference

对要部署到计算节点的包的引用。

名称 类型 说明
applicationId

string

要部署的应用程序的 ID。
创建池时,包的应用程序 ID 必须完全限定 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) 。

version

string

要部署的应用程序的版本。 如果省略,则部署默认版本。
如果在池中省略了此值,并且未为此应用程序指定默认版本,则请求将失败并显示错误代码 InvalidApplicationPackageReferences 和 HTTP 状态代码 409。 如果在 Task 上省略此项,并且没有为此应用程序指定默认版本,则任务将失败并出现预处理错误。

AuthenticationTokenSettings

任务可用于执行 Batch 服务操作的身份验证令牌的设置。

名称 类型 说明
access

AccessScope[]

令牌向其授予访问权限的 Batch 资源。
身份验证令牌授予对一组有限的 Batch 服务操作的访问权限。 目前访问属性支持的唯一值是“job”,它授予与包含 Task 的作业相关的所有操作的访问权限。

AutoPoolSpecification

指定临时“自动池”的特征。 提交作业时,Batch 服务将创建此自动池。

名称 类型 说明
autoPoolIdPrefix

string

自动创建池时要添加到唯一标识符的前缀。
Batch 服务在创建时为每个自动池分配唯一标识符。 若要区分为不同目的创建的池,可以指定此元素以向分配的 ID 添加前缀。 该前缀的长度最多是 20 个字符。

keepAlive

boolean

自动池的生存期到期后是否保持活动状态。
如果为 false,则 Batch 服务在池生存期 (由 poolLifetimeOption 设置确定) 过期后删除池;即作业或作业计划完成的时间。 如果为 true,Batch 服务不会自动删除池。 用户可删除使用此选项创建的自动池。

pool

PoolSpecification

自动池的池规范。

poolLifetimeOption

PoolLifetimeOption

创建的自动池的最短生存期,以及如何按计划将多个作业分配给池。

AutoUserScope

自动用户的作用域

名称 类型 说明
pool

string

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

task

string

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

AutoUserSpecification

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

名称 类型 说明
elevationLevel

ElevationLevel

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

scope

AutoUserScope

自动用户的范围
默认值为 pool。 如果池运行的是 Windows,则当任务之间需要更严格的隔离时,应指定任务值。 例如,如果任务以可能影响其他任务的方式更改注册表,或者已在池上指定了证书,而普通任务不应访问证书,但应由 StartTask 访问。

AzureBlobFileSystemConfiguration

用于使用 Blobfuse 连接到 Azure 存储容器的信息。

名称 类型 说明
accountKey

string

Azure 存储帐户密钥。
此属性与 sasKey 和 identity 互斥;必须指定一个。

accountName

string

Azure 存储帐户名称。

blobfuseOptions

string

要传递给装载命令的其他命令行选项。
这些是 Windows 中的“net use”选项和 Linux 中的“装载”选项。

containerName

string

Azure Blob 存储容器名称。

identityReference

ComputeNodeIdentityReference

对用于访问 containerName 的用户分配标识的引用
此属性与 accountKey 和 sasKey 互斥;必须指定一个。

relativeMountPath

string

将装载文件系统的计算节点上的相对路径
所有文件系统都相对于 Batch 装载目录进行装载,可通过 AZ_BATCH_NODE_MOUNTS_DIR 环境变量进行访问。

sasKey

string

Azure 存储 SAS 令牌。
此属性与 accountKey 和 identity 互斥;必须指定一个。

AzureFileShareConfiguration

用于连接到 Azure 文件共享的信息。

名称 类型 说明
accountKey

string

Azure 存储帐户密钥。

accountName

string

Azure 存储帐户名称。

azureFileUrl

string

Azure 文件存储 URL。
此格式为“https://{account}.file.core.windows.net/”。

mountOptions

string

要传递给装载命令的其他命令行选项。
这些是 Windows 中的“net use”选项和 Linux 中的“装载”选项。

relativeMountPath

string

将装载文件系统的计算节点上的相对路径
所有文件系统都相对于 Batch 装载目录进行装载,可通过 AZ_BATCH_NODE_MOUNTS_DIR 环境变量进行访问。

BatchError

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

名称 类型 说明
code

string

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

message

ErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

Azure Batch错误响应中包含的其他信息项。

名称 类型 说明
key

string

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

value

string

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

CachingType

要为磁盘启用的缓存类型。

名称 类型 说明
none

string

未启用磁盘的缓存模式。

readonly

string

磁盘的缓存模式为只读。

readwrite

string

磁盘的缓存模式为读取和写入。

CertificateReference

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

名称 类型 说明
storeLocation

CertificateStoreLocation

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

storeName

string

要在其中安装证书的计算节点上的证书存储的名称。
此属性仅适用于使用 Windows 计算节点配置的池, (使用 cloudServiceConfiguration 创建的池,或使用 windows 映像引用) 通过 virtualMachineConfiguration 配置的池。 常见的存储名称包括:My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定义存储名称。 默认值为 My。

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

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

CIFSMountConfiguration

用于连接到 CIFS 文件系统的信息。

名称 类型 说明
mountOptions

string

要传递给装载命令的其他命令行选项。
这些是 Windows 中的“net use”选项和 Linux 中的“装载”选项。

password

string

用于对 CIFS 文件系统进行身份验证的密码。

relativeMountPath

string

将装载文件系统的计算节点上的相对路径
所有文件系统都相对于 Batch 装载目录进行装载,可通过 AZ_BATCH_NODE_MOUNTS_DIR 环境变量进行访问。

source

string

要装载的文件系统的 URI。

username

string

用于对 CIFS 文件系统进行身份验证的用户。

CloudJob

Azure Batch作业。

名称 类型 默认值 说明
allowTaskPreemption

boolean

此作业中的任务是否可以被其他高优先级作业抢占
如果该值设置为 True,则提交到系统的其他高优先级作业将优先,并且能够从此作业重新排队任务。 使用更新作业 API 创建作业后,可以更新作业的 allowTaskPreemption。

commonEnvironmentSettings

EnvironmentSetting[]

常见环境变量设置的列表。 这些环境变量是为作业 (包括作业管理器、作业准备和作业释放任务) 中的所有任务设置的。
单个任务可以通过使用不同的值指定相同的设置名称来替代此处指定的环境设置。

constraints

JobConstraints

作业的执行约束。

creationTime

string

作业的创建时间。

displayName

string

作业的显示名称。

eTag

string

作业的 ETag。
这是一个不透明的字符串。 可以使用它来检测作业是否在请求之间发生了更改。 具体而言,可以在更新作业时传递 ETag,以指定仅当其他人在此期间没有修改该作业时所做的更改才生效。

executionInfo

JobExecutionInformation

作业的执行信息。

id

string

唯一标识帐户中的作业的字符串。
ID 是保留大小写且不区分大小写 (也就是说,一个帐户中可能没有两个仅因大小写) 不同而不同的 ID。

jobManagerTask

JobManagerTask

启动作业时要启动的作业管理器任务的详细信息。
作业管理器任务在创建作业时自动启动。 Batch 服务尝试在作业中任何其他任务之前计划作业管理器任务。 收缩池时,Batch 服务会尝试尽可能长时间地保留运行作业管理器任务的节点, (也就是说,在运行作业管理器任务的计算节点) 之前,将删除运行“正常”任务的计算节点。 当作业管理器任务失败并需要重启时,系统会尝试以最高优先级计划它。 如果没有空闲的计算节点可用,系统可能会终止池中正在运行的任务之一,并将其返回到队列,以便为作业管理器任务重新启动腾出空间。 请注意,一个作业中的作业管理器任务不优先于其他作业中的任务。 在作业中,仅观察到作业级别的优先级。 例如,如果优先级为 0 的作业管理器需要重启,则它不会取代优先级为 1 的作业的任务。 在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括 (但不限于在重新启动不正常的节点或计算节点因主机故障而消失时) 。 由于恢复操作而导致的重试独立于 ,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能由于恢复操作而发生内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。

jobPreparationTask

JobPreparationTask

作业准备任务。
作业准备任务是在作业的任何其他任务之前在每个计算节点上运行的特殊任务。

jobReleaseTask

JobReleaseTask

作业发布任务。
作业释放任务是在运行作业的任何其他任务的每个计算节点上作业结束时的特殊任务运行。

lastModified

string

作业的上次修改时间。
这是作业级别数据(如作业状态或优先级)最后一次更改的时间。 它不考虑任务级更改,例如添加新任务或任务更改状态。

maxParallelTasks

integer

-1

可为作业并行执行的最大任务数。
maxParallelTasks 的值必须为 -1 或大于 0(如果指定)。 如果未指定,则默认值为 -1,这意味着一次可以运行的任务数没有限制。 在使用更新作业 API 创建作业后,可以更新作业的 maxParallelTasks。

metadata

MetadataItem[]

与作为元数据的作业关联的名称/值对的列表。
Batch 服务不赋予元数据任何含义;它仅用于使用用户代码。

networkConfiguration

JobNetworkConfiguration

作业的网络配置。

onAllTasksComplete

OnAllTasksComplete

当作业中的所有任务都处于已完成状态时,Batch 服务应执行的操作。
默认值为 noaction。

onTaskFailure

OnTaskFailure

当作业中的任何任务失败时,Batch 服务应执行的操作。
如果存在 failureInfo,则任务被视为已失败。 如果 Task 在重试计数用尽后以非零退出代码完成,或者如果启动任务时出错(例如由于资源文件下载错误),则会设置 failureInfo。 默认值为 noaction。

poolInfo

PoolInformation

与作业关联的池设置。

previousState

JobState

作业的上一状态。
如果作业处于初始活动状态,则不设置此属性。

previousStateTransitionTime

string

作业进入其先前状态的时间。
如果作业处于初始活动状态,则不设置此属性。

priority

integer

作业的优先级。
优先级值的范围为 -1000 到 1000,-1000 表示最低优先级,1000 表示最高优先级。 默认值为 0。

state

JobState

作业的当前状态。

stateTransitionTime

string

作业进入其当前状态的时间。

stats

JobStatistics

作业整个生存期的资源使用情况统计信息。
仅当使用包含“stats”属性的 expand 子句检索 CloudJob 时,才会填充此属性;否则为 null。 统计信息可能不会立即可用。 Batch 服务定期汇总统计信息。 典型的延迟约为 30 分钟。

url

string

作业的 URL。

usesTaskDependencies

boolean

作业中的任务是否可以定义彼此的依赖关系。 默认值为 false。

CloudServiceConfiguration

基于 Azure 云服务 平台的池中计算节点的配置。

名称 类型 说明
osFamily

string

要安装在池中的虚拟机上的 Azure 来宾 OS 系列。
可能的值是:2 - OS 系列 2,等效于 Windows Server 2008 R2 SP1。 3 - OS 系列 3,等效于 Windows Server 2012。 4 - OS 系列 4,等效于 Windows Server 2012 R2。 5 - OS 系列 5,等效于 Windows Server 2016。 6 - OS 系列 6,等效于 Windows Server 2019。 有关详细信息,请参阅 Azure 来宾 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases) 。

osVersion

string

要安装在池中的虚拟机上的 Azure 来宾 OS 版本。
默认值为 * ,指定指定操作系统系列的最新操作系统版本。

ComputeNodeFillType

任务如何跨池中的计算节点分布。

名称 类型 说明
pack

string

在将任何任务分配给池中的下一个计算节点之前,应将尽可能多的任务 (taskSlotsPerNode) 分配给池中的每个计算节点。

spread

string

应跨池中的所有计算节点均匀分配任务。

ComputeNodeIdentityReference

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

名称 类型 说明
resourceId

string

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

ContainerConfiguration

已启用容器的池的配置。

名称 类型 说明
containerImageNames

string[]

容器映像名称的集合。
这是完整的映像引用,将指定为“docker 拉取”。 映像将来自默认 Docker 注册表,除非映像使用备用注册表完全限定。

containerRegistries

ContainerRegistry[]

可以从中提取容器的其他专用注册表。
如果必须从需要凭据的专用注册表下载任何映像,则必须在此处提供这些凭据。

type

ContainerType

要使用的容器技术。

ContainerRegistry

专用容器注册表。

名称 类型 说明
identityReference

ComputeNodeIdentityReference

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

password

string

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

registryServer

string

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

username

string

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

ContainerType

要使用的容器技术。

名称 类型 说明
criCompatible

string

基于 CRI 的技术将用于启动容器。

dockerCompatible

string

将使用 Docker 兼容的容器技术来启动容器。

ContainerWorkingDirectory

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

名称 类型 说明
containerImageDefault

string

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

taskWorkingDirectory

string

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

DataDisk

与池中的计算节点关联的数据磁盘将使用的设置。 使用附加的数据磁盘时,需要从 VM 中装载和格式化磁盘,才能使用它们。

名称 类型 说明
caching

CachingType

要为数据磁盘启用的缓存类型。
缓存的默认值为 readwrite。 有关缓存选项的信息,请参阅: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/

diskSizeGB

integer

初始磁盘大小(以 GB 为单位)。

lun

integer

逻辑单元号。
lun 用于唯一标识每个数据磁盘。 如果附加多个磁盘,则每个磁盘应具有不同的 lun。 该值必须介于 0 和 63(含)之间。

storageAccountType

StorageAccountType

要用于数据磁盘的存储帐户类型。
如果省略,则默认值为“standard_lrs”。

DiffDiskPlacement

指定池中所有计算节点 (VM) 操作系统磁盘的临时磁盘放置。

名称 类型 说明
CacheDisk

string

临时 OS 磁盘存储在 VM 缓存中。

DiffDiskSettings

指定计算节点 (VM) 使用的操作系统磁盘的临时磁盘设置。

名称 类型 说明
placement

DiffDiskPlacement

指定池中所有 VM 的操作系统磁盘的临时磁盘位置。
用户在请求中可以使用此属性来选择位置,例如,缓存磁盘空间用于临时 OS 磁盘预配。 有关临时 OS 磁盘大小要求的详细信息,请参阅 上的 Windows VM https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements 和 Linux VM 的 https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements临时 OS 磁盘大小要求。

DiskEncryptionConfiguration

在池中的计算节点上应用的磁盘加密配置。 使用 Azure Compute Gallery Image 创建的 Linux 池不支持磁盘加密配置。

名称 类型 说明
targets

DiskEncryptionTarget[]

批处理服务将在计算节点上加密的磁盘目标列表。
如果省略,则池中计算节点上的磁盘不会加密。 在 Linux 池中,仅支持“TemporaryDisk”;必须指定 Windows 池中的“OsDisk”和“TemporaryDisk”。

DiskEncryptionTarget

Batch 服务将在计算节点上加密的磁盘目标列表。

名称 类型 说明
osdisk

string

计算节点上的 OS 磁盘已加密。

temporarydisk

string

计算节点上的临时磁盘已加密。 在 Linux 上,此加密适用于其他分区 (例如装载的数据磁盘上的分区,) 启动时加密。

DynamicVNetAssignmentScope

动态 vnet 分配的范围。

名称 类型 说明
job

string

动态 VNet 分配按作业完成。

none

string

未启用动态 VNet 分配。

ElevationLevel

用户的提升级别。

名称 类型 说明
admin

string

用户是具有提升访问权限的用户,使用完全管理员权限进行操作。

nonadmin

string

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

EnvironmentSetting

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

名称 类型 说明
name

string

环境变量的名称。

value

string

环境变量的值。

ErrorCategory

错误的类别。

名称 类型 说明
servererror

string

此错误是由于内部服务器问题导致的。

usererror

string

此错误是由于用户问题(例如配置错误)导致的。

ErrorMessage

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

名称 类型 说明
lang

string

错误消息的语言代码

value

string

消息的文本。

HttpHeader

HTTP 标头名称/值对

名称 类型 说明
name

string

上传输出文件时要使用的标头不区分大小写的名称

value

string

上传输出文件时要使用的标头的值

ImageReference

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

名称 类型 说明
exactVersion

string

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

offer

string

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

publisher

string

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

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/{resourceGroups/providers/Microsoft.Compute/galleryName/{galleryName}/images/{imageDefinitionName},始终默认为最新映像版本。
此属性与其他 ImageReference 属性互斥。 Azure 计算库映像必须在同一区域中具有副本,并且必须与 Azure Batch 帐户位于同一订阅中。 如果未在 imageId 中指定映像版本,则将使用最新版本。 有关 Batch 计算节点代理与 Batch 服务通信的防火墙设置的信息,请参阅 https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration

InboundEndpointProtocol

终结点的协议。

名称 类型 说明
tcp

string

对终结点使用 TCP。

udp

string

对终结点使用 UDP。

InboundNATPool

一个入站 NAT 池,可用于在外部 Batch 池中对计算节点上的特定端口进行寻址。

名称 类型 说明
backendPort

integer

计算节点上的端口号。
这在 Batch 池中必须是唯一的。 可接受的值介于 1 和 65535 之间,但 22、3389、29876 和 29877,因为这些值是保留的。 如果提供了任何保留值,则请求失败,并显示 HTTP 状态代码 400。

frontendPortRangeEnd

integer

外部端口范围中的最后一个端口号,用于提供对单个计算节点上 backendPort 的入站访问。
可接受的值范围为 1 到 65534,但 Batch 服务保留的端口从 50000 到 55000 不等。 池中的所有范围都必须是不同的,并且不能重叠。 每个范围必须至少包含 40 个端口。 如果提供了任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。

frontendPortRangeStart

integer

外部端口范围中的第一个端口号,用于提供对单个计算节点上 backendPort 的入站访问。
可接受的值范围为 1 到 65534,但保留的端口从 50000 到 55000 除外。 池中的所有范围都必须是不同的,并且不能重叠。 每个范围必须至少包含 40 个端口。 如果提供了任何保留值或重叠值,则请求失败并显示 HTTP 状态代码 400。

name

string

终结点的名称。
名称在 Batch 池中必须唯一,可以包含字母、数字、下划线、句点和连字符。 名称必须以字母或数字开头,必须以字母、数字或下划线结尾,并且不能超过 77 个字符。 如果提供了任何无效值,则请求失败,并显示 HTTP 状态代码 400。

networkSecurityGroupRules

NetworkSecurityGroupRule[]

将应用于终结点的网络安全组规则列表。
可在 Batch 池上的所有终结点上指定的最大规则数为 25。 如果未指定网络安全组规则,则将创建默认规则以允许对指定的 backendPort 进行入站访问。 如果超过网络安全组规则的最大数目,请求将失败,并显示 HTTP 状态代码 400。

protocol

InboundEndpointProtocol

终结点的协议。

IPAddressProvisioningType

池的公共 IP 地址的预配类型。

名称 类型 说明
batchmanaged

string

公共 IP 将由 Batch 创建和管理。 可能会有多个公共 IP,具体取决于池的大小。

nopublicipaddresses

string

不会创建公共 IP 地址。

usermanaged

string

公共 IP 由用户提供,将用于预配计算节点。

JobConstraints

作业的执行约束。

名称 类型 说明
maxTaskRetryCount

integer

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

maxWallClockTime

string

作业可以运行的最大运行时间,从创建作业的时间开始计算。
如果作业未在时间限制内完成,Batch 服务将终止该作业以及仍在运行的任何任务。 在这种情况下,终止原因将是 MaxWallClockTimeExpiry。 如果未指定此属性,则作业可以运行的时间没有时间限制。

JobExecutionInformation

包含有关在Azure Batch服务中执行作业的信息。

名称 类型 说明
endTime

string

作业的完成时间。
仅当作业处于已完成状态时,才会设置此属性。

poolId

string

此作业分配到的池的 ID。
此元素包含在其中分配作业的实际池。 从服务获取作业详细信息时,它们还包含 poolInfo 元素,其中包含添加或更新作业时的池配置数据。 该 poolInfo 元素还可以包含 poolId 元素。 如果是,则两个 ID 是相同的。 如果没有,则表示作业在自动池上运行,此属性包含该自动池的 ID。

schedulingError

JobSchedulingError

服务在启动作业时遇到的任何错误的详细信息。
如果启动作业时没有错误,则不设置此属性。

startTime

string

作业的开始时间。
这是创建作业的时间。

terminateReason

string

描述作业结束原因的字符串。
仅当作业处于已完成状态时,才会设置此属性。 如果 Batch 服务终止作业,则会将原因设置为:JMComplete - 作业管理器任务已完成,killJobOnCompletion 设置为 true。 MaxWallClockTimeExpiry - 作业达到其 maxWallClockTime 约束。 TerminateJobSchedule - 作业作为计划的一部分运行,计划已终止。 AllTasksComplete - 作业的 onAllTasksComplete 属性设置为 terminatejob,并且作业中的所有任务都已完成。 TaskFailed - 作业的 onTaskFailure 属性设置为 performExitOptionsJobAction,并且作业中的任务因指定 jobAction 为 terminatejob 的退出条件而失败。 任何其他字符串都是在调用“终止作业”操作时指定的用户定义的原因。

JobManagerTask

指定作业管理器任务的详细信息。

名称 类型 说明
allowLowPriorityNode

boolean

作业管理器任务是否可以在现成/低优先级计算节点上运行。
默认值为 true。

applicationPackageReferences

ApplicationPackageReference[]

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

authenticationTokenSettings

AuthenticationTokenSettings

任务可用于执行 Batch 服务操作的身份验证令牌的设置。
如果设置了此属性,Batch 服务将为 Task 提供一个身份验证令牌,该令牌可用于对 Batch 服务操作进行身份验证,而无需帐户访问密钥。 令牌通过 AZ_BATCH_AUTHENTICATION_TOKEN 环境变量提供。 任务可以使用令牌执行的操作取决于设置。 例如,任务可以请求作业权限,以便将其他任务添加到作业,或检查作业或作业下其他任务的状态。

commandLine

string

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

constraints

TaskConstraints

适用于作业管理器任务的约束。

containerSettings

TaskContainerSettings

运行作业管理器任务的容器的设置。
如果将运行此任务的池具有 containerConfiguration 集,则还必须设置此设置。 如果将运行此任务的池没有 containerConfiguration 设置,则不得设置此设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR (节点上 Azure Batch) 目录的根目录以递归方式映射到容器中,所有 Task 环境变量都映射到容器中,并在容器中执行 Task 命令行。 AZ_BATCH_NODE_ROOT_DIR 之外的容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 无法访问这些文件。

displayName

string

作业管理器任务的显示名称。
它不需要是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。

environmentSettings

EnvironmentSetting[]

作业管理器任务的环境变量设置列表。

id

string

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

killJobOnCompletion

boolean

完成作业管理器任务是否表示完成整个作业。
如果为 true,则当作业管理器任务完成时,Batch 服务会将作业标记为完成。 如果作业发布) 以外的任何任务目前仍在运行 (,则终止这些任务。 如果为 false,则作业管理器任务的完成不会影响作业状态。 在这种情况下,应使用 onAllTasksComplete 属性终止作业,或者让客户端或用户显式终止作业。 例如,作业管理器创建了一组任务,但随后在执行任务时不再扮演任何角色。 默认值为 true。 如果使用 onAllTasksComplete 和 onTaskFailure 属性来控制作业生存期,并且仅使用作业管理器任务创建作业的任务 (不监视进度) ,则必须将 killJobOnCompletion 设置为 false。

outputFiles

OutputFile[]

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

requiredSlots

integer

任务运行所需的计划槽数。
默认值为 1。 如果任务有足够的可用计划槽,则只能将任务计划为在计算节点上运行。 对于多实例任务,此属性不受支持,并且不得指定。

resourceFiles

ResourceFile[]

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

runExclusive

boolean

作业管理器任务是否需要独占使用运行它的计算节点。
如果为 true,则只要作业管理器正在运行,其他任务将不会在同一节点上运行。 如果为 false,则其他任务可以在计算节点上与作业管理器同时运行。 作业管理器任务根据计算节点的并发任务限制正常计数,因此仅当计算节点允许多个并发任务时,这才相关。 默认值为 true。

userIdentity

UserIdentity

运行作业管理器任务时所依据的用户标识。
如果省略,则任务将作为 Task 唯一的非管理用户运行。

JobNetworkConfiguration

作业的网络配置。

名称 类型 说明
subnetId

string

虚拟网络子网的 ARM 资源标识符,运行作业中的任务的计算节点将在任务期间加入该子网。 这仅适用于 VirtualMachineConfiguration 池。
虚拟网络必须与 Azure Batch 帐户位于同一区域和订阅中。 指定的子网应有足够的可用 IP 地址来容纳将从作业运行任务的计算节点数。 这可以达到池中的计算节点数。 “MicrosoftAzureBatch”服务主体必须具有指定 VNet 的“经典虚拟机参与者”Role-Based 访问控制 (RBAC) 角色,以便Azure Batch服务可以在节点上计划任务。 可以通过检查指定的 VNet 是否具有任何关联的网络安全组 (NSG) 来验证这一点。 如果 NSG 拒绝与指定子网中的节点的通信,Batch 服务会将计算节点的状态设置为“不可用”。 其格式为 /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}。 如果指定的 VNet 具有任何关联的网络安全组 (NSG) ,则必须为来自Azure Batch服务的入站通信启用几个保留的系统端口。 对于使用虚拟机配置创建的池,请启用端口 29876 和 29877,以及端口 22(适用于 Linux)和端口 3389(适用于 Windows)。 为与 Azure 存储通信的出站连接,还需要打开端口 443。 有关详细信息,请参阅: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration

JobPreparationTask

在任何给定计算节点上作业的任何任务之前运行的作业准备任务。

名称 类型 说明
commandLine

string

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

constraints

TaskConstraints

适用于作业准备任务的约束。

containerSettings

TaskContainerSettings

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

environmentSettings

EnvironmentSetting[]

作业准备任务的环境变量设置列表。

id

string

唯一标识作业中的作业准备任务的字符串。
ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 如果未指定此属性,Batch 服务将分配默认值“jobpreparation”。 作业中的其他任务不能具有与作业准备任务相同的 ID。 如果尝试提交 ID 相同的任务,Batch 服务会拒绝该请求,错误代码为 TaskIdSameAsJobPreparationTask;如果直接调用 REST API,则 HTTP 状态代码为 409 (冲突) 。

rerunOnNodeRebootAfterSuccess

boolean

批处理服务是否应在计算节点重新启动后重新运行作业准备任务。
如果计算节点重置映像,或者作业准备任务未完成 ((例如,由于任务在运行) 时重新启动),则始终重新运行作业准备任务。 因此,应始终编写作业准备任务,以便其幂等且在多次运行时正常运行。 默认值为 true。

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

运行作业准备任务时所依据的用户标识。
如果省略该任务,则任务以 Windows 计算节点上的任务所特有的非管理用户或 Linux 计算节点上的池唯一的非管理用户身份运行。

waitForSuccess

boolean

在计算节点上计划作业的任何其他任务之前,Batch 服务是否应等待作业准备任务成功完成。 如果作业准备任务退出并退出代码为 0,则作业准备任务已成功完成。
如果为 true,并且节点上的作业准备任务失败,Batch 服务将重试作业准备任务,最大重试次数 () 约束元素中指定的最大重试次数。 如果所有重试后任务仍未成功完成,Batch 服务将不会将作业的任务安排到节点。 该节点保持活动状态,并有资格运行其他作业的任务。 如果为 false,则 Batch 服务不会等待作业准备任务完成。 在这种情况下,作业的其他任务可以在作业准备任务仍在运行时开始在计算节点上执行;即使作业准备任务失败,新任务将继续在计算节点上进行计划。 默认值为 true。

JobReleaseTask

在作业运行的任何计算节点上的作业完成时运行的作业释放任务。

名称 类型 说明
commandLine

string

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

containerSettings

TaskContainerSettings

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

environmentSettings

EnvironmentSetting[]

作业发布任务的环境变量设置列表。

id

string

唯一标识作业中的作业释放任务的字符串。
ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 如果未指定此属性,Batch 服务将分配默认值“jobrelease”。 作业中的其他任务不能具有与作业发布任务相同的 ID。 如果尝试提交 ID 相同的任务,Batch 服务会拒绝请求,错误代码为 TaskIdSameAsJobReleaseTask;如果直接调用 REST API,则 HTTP 状态代码为 409 (冲突) 。

maxWallClockTime

string

作业释放任务可在给定计算节点上运行的最长时间,从任务启动时间开始计算。 如果任务未在时间限制内完成,Batch 服务将终止它。 默认值为 15 分钟。 不能指定超过 15 分钟的超时。 如果这样做,Batch 服务会拒绝它并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400 (错误请求) 。

resourceFiles

ResourceFile[]

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

retentionTime

string

为计算节点上的作业释放任务保留 Task 目录的最短时间。 在此时间之后,Batch 服务可能会删除 Task 目录及其所有内容。
默认值为 7 天,即任务目录将保留 7 天,除非删除计算节点或删除作业。

userIdentity

UserIdentity

运行作业发布任务的用户标识。
如果省略,则任务将作为 Task 唯一的非管理用户运行。

JobSchedulingError

Batch 服务在计划作业时遇到的错误。

名称 类型 说明
category

ErrorCategory

作业计划错误的类别。

code

string

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

details

NameValuePair[]

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

message

string

描述作业计划错误的消息,该错误适用于在用户界面中显示。

JobState

作业的状态。

名称 类型 说明
active

string

作业可用于计划任务。

completed

string

所有任务都已终止,系统不会再接受任何任务或对作业的任何进一步更改。

deleting

string

例如,用户已请求删除作业,但删除操作仍在进行 (,因为系统仍在终止运行任务) 。

disabled

string

用户已禁用作业。 没有任务正在运行,也不会计划新的任务。

disabling

string

用户已请求禁用作业,但禁用操作仍在进行 (例如,等待任务终止) 。

enabling

string

用户已请求启用作业,但启用操作仍在进行中。

terminating

string

作业即将完成,可能是因为作业管理器任务已完成或用户已终止作业,但终止操作仍在进行中,例如, (因为作业释放任务) 运行。

JobStatistics

作业的资源使用情况统计信息。

名称 类型 说明
kernelCPUTime

string

作业中所有任务) 使用的所有内核和所有计算节点 (总内核模式 CPU 时间总和。

lastUpdateTime

string

上次更新统计信息的时间。 所有统计信息仅限于 startTime 和 lastUpdateTime 之间的范围。

numFailedTasks

integer

作业中在给定时间范围内失败的任务总数。
如果任务耗尽其最大重试计数而不返回退出代码 0,则任务将失败。

numSucceededTasks

integer

给定时间范围内作业中成功完成的任务总数。
如果任务返回退出代码 0,则任务成功完成。

numTaskRetries

integer

给定时间范围内作业中所有任务的重试总数。

readIOGiB

number

作业中所有任务从磁盘读取的 GiB 数据总量。

readIOps

integer

作业中所有任务执行的磁盘读取操作总数。

startTime

string

统计信息所涵盖的时间范围的开始时间。

url

string

统计信息的 URL。

userCPUTime

string

作业中的所有任务) 使用的所有核心和所有计算节点 (总的用户模式 CPU 时间。

waitTime

string

作业中所有任务的总等待时间。
任务的等待时间定义为从创建任务到开始执行任务之间的经过时间。 (如果由于失败而重试任务,则等待时间是执行最近任务的时间。) 此值仅在帐户生存期统计信息中报告;它不包括在作业统计信息中。

wallClockTime

string

作业中所有任务的总时钟时间。
挂钟时间是从任务开始在计算节点上运行到完成 (或上次更新统计信息的时间(如果任务尚未完成),则) 。 如果重试了任务,这包括所有任务重试的时钟时间。

writeIOGiB

number

作业中的所有任务写入磁盘的总数据量(以 GiB 为单位)。

writeIOps

integer

作业中所有任务执行的磁盘写入操作总数。

LinuxUserConfiguration

用于在 Linux 计算节点上创建用户帐户的属性。

名称 类型 说明
gid

integer

用户帐户的组 ID。
uid 和 gid 属性必须一起指定,或者根本不指定。 如果未指定,基础操作系统将选取 gid。

sshPrivateKey

string

用户帐户的 SSH 私钥。
私钥不得受密码保护。 当池的 enableInterNodeCommunication 属性为 true 时,私钥用于自动为 Linux 池中计算节点之间的 SSH 配置基于非对称密钥的身份验证, (enableInterNodeCommunication 为 false) 。 它通过将密钥对放入用户的 .ssh 目录来执行此操作。 如果未指定,则不会在计算节点之间配置无密码 SSH, () 不修改用户的 .ssh 目录。

uid

integer

用户帐户的用户 ID。
uid 和 gid 属性必须一起指定,或者根本不指定。 如果未指定,基础操作系统将选取 uid。

LoginMode

用户的登录模式

名称 类型 说明
batch

string

LOGON32_LOGON_BATCH Win32 登录模式。 对于长时间运行的并行进程,建议使用批处理登录模式。

interactive

string

LOGON32_LOGON_INTERACTIVE Win32 登录模式。 在 Windows VirtualMachineConfiguration 池上启用了 UAC。 如果将此选项与 Windows VirtualMachineConfiguration 池中提升的用户标识一起使用,则用户会话将不会提升,除非任务命令行执行的应用程序配置为始终需要管理权限或始终需要最大特权。

ManagedDisk

名称 类型 说明
storageAccountType

StorageAccountType

托管磁盘的存储帐户类型。

MetadataItem

与 Batch 服务资源关联的名称/值对。

名称 类型 说明
name

string

元数据项的名称。

value

string

元数据项的值。

MountConfiguration

要在每个节点上装载的文件系统。

名称 类型 说明
azureBlobFileSystemConfiguration

AzureBlobFileSystemConfiguration

在每个节点上使用 blob FUSE 装载的 Azure 存储容器。
此属性与所有其他属性互斥。

azureFileShareConfiguration

AzureFileShareConfiguration

要在每个节点上装载的 Azure 文件共享。
此属性与其他所有属性互斥。

cifsMountConfiguration

CIFSMountConfiguration

要在每个节点上装载的 CIFS/SMB 文件系统。
此属性与所有其他属性互斥。

nfsMountConfiguration

NFSMountConfiguration

要在每个节点上装载的 NFS 文件系统。
此属性与所有其他属性互斥。

NameValuePair

表示一个名称-值对。

名称 类型 说明
name

string

名称/值对中的名称。

value

string

名称/值对中的值。

NetworkConfiguration

池的网络配置。

名称 类型 说明
dynamicVNetAssignmentScope

DynamicVNetAssignmentScope

动态 vnet 分配的范围。

enableAcceleratedNetworking

boolean

此池是否应启用加速网络。
加速网络支持将单根 I/O 虚拟化 (SR-IOV) VM,这可以提高网络性能。 有关详细信息,请参阅 https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview

endpointConfiguration

PoolEndpointConfiguration

Batch 池中计算节点上终结点的配置。
只有具有 virtualMachineConfiguration 属性的池支持池终结点配置。

publicIPAddressConfiguration

PublicIPAddressConfiguration

Batch 池中计算节点的公共 IPAddress 配置。
只有具有 virtualMachineConfiguration 属性的池才支持公共 IP 配置属性。

subnetId

string

池的计算节点将加入的虚拟网络子网的 ARM 资源标识符。 其格式为 /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}。
虚拟网络必须与 Azure Batch 帐户位于同一区域和订阅中。 指定的子网应有足够的可用 IP 地址来容纳池中的计算节点数。 如果子网没有足够的可用 IP 地址,池将部分分配节点,并且会发生重设大小错误。 “MicrosoftAzureBatch”服务主体必须具有指定 VNet 的“经典虚拟机参与者”Role-Based 访问控制 (RBAC) 角色。 指定的子网必须允许来自Azure Batch服务的通信,以便能够在节点上计划任务。 可以通过检查指定的 VNet 是否具有任何关联的网络安全组 (NSG) 来验证这一点。 如果 NSG 拒绝与指定子网中的节点的通信,Batch 服务会将计算节点的状态设置为“不可用”。 对于使用 virtualMachineConfiguration 创建的池,仅限 ARM 虚拟网络 ( Microsoft。支持 Network/virtualNetworks ) ,但对于使用 cloudServiceConfiguration 创建的池,支持 ARM 和经典虚拟网络。 如果指定的 VNet 存在关联的网络安全组 (NSG),则必须为入站通信启用数个保留的系统端口。 对于使用虚拟机配置创建的池,请启用端口 29876 和 29877,以及端口 22(适用于 Linux)和端口 3389(适用于 Windows)。 对于使用云服务配置创建的池,启用端口 10100、20100 和 30100。 此外,在端口 443 上启用与 Azure 存储的出站连接。 有关详细信息,请参阅: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration

NetworkSecurityGroupRule

要应用于入站终结点的网络安全组规则。

名称 类型 说明
access

NetworkSecurityGroupRuleAccess

应对指定的 IP 地址、子网范围或标记执行的操作。

priority

integer

此规则的优先级。
池中的优先级必须是唯一的,并且按优先级顺序进行评估。 编号越低,优先级越高。 例如,可以指定订单号为 150、250 和 350 的规则。 顺序编号为 150 的规则优先于顺序为 250 的规则。 允许的优先级为 150 到 4096。 如果提供了任何保留值或重复值,请求将失败,并显示 HTTP 状态代码 400。

sourceAddressPrefix

string

要与规则匹配的源地址前缀或标记。
有效值为单个 IP 地址 (,即 10.10.10.10) 、IP 子网 (即 192.168.1.0/24) 、默认标记或 * () 。 如果提供了任何其他值,则请求失败,并显示 HTTP 状态代码 400。

sourcePortRanges

string[]

要与规则匹配的源端口范围。
对于所有端口 0 - 65535) 、特定端口 ((即 22) )或端口范围 ((即 100-200) ),有效值为“” (。端口的范围必须为 0 到 65535。此集合中的每个条目不得与范围或单个端口) (任何其他条目重叠。如果提供了任何其他值,则请求失败,并显示 HTTP 状态代码 400。默认值为“”。

NetworkSecurityGroupRuleAccess

应对指定的 IP 地址、子网范围或标记执行的操作。

名称 类型 说明
allow

string

允许访问。

deny

string

拒绝访问。

NFSMountConfiguration

用于连接到 NFS 文件系统的信息。

名称 类型 说明
mountOptions

string

要传递给装载命令的其他命令行选项。
这些是 Windows 中的“net use”选项和 Linux 中的“装载”选项。

relativeMountPath

string

将装载文件系统的计算节点上的相对路径
所有文件系统都相对于 Batch 装载目录进行装载,可通过 AZ_BATCH_NODE_MOUNTS_DIR 环境变量进行访问。

source

string

要装载的文件系统的 URI。

NodeCommunicationMode

确定池如何与 Batch 服务通信。

名称 类型 说明
classic

string

使用经典通信模式的节点需要来自“BatchNodeManagement”的端口 29876 和 29877 上的入站 TCP 通信。{region}“服务标记和端口 443 上与”Storage.region“和”BatchNodeManagement“的出站 TCP 通信。{region}“服务标记。

default

string

节点通信模式由 Batch 服务自动设置。

simplified

string

使用简化通信模式的节点需要在端口 443 上与“BatchNodeManagement”进行出站 TCP 通信。{region}“服务标记。 不需要打开的入站端口。

NodePlacementConfiguration

池的节点放置配置。

名称 类型 说明
policy

NodePlacementPolicyType

Batch 池上的节点放置策略类型。
Batch 服务用于预配节点的分配策略。 如果未指定,Batch 将使用区域策略。

NodePlacementPolicyType

用于在池中分配节点的放置策略。

名称 类型 说明
regional

string

池中的所有节点将分配到同一区域。

zonal

string

池中的节点将分布在不同的可用性区域,并尽最大努力实现平衡。

OnAllTasksComplete

当作业中的所有任务都处于已完成状态时,Batch 服务应执行的操作。

名称 类型 说明
noaction

string

不执行任何操作。 除非通过某种其他方式终止或禁用作业,否则作业将保持活动状态。

terminatejob

string

终止作业。 作业的 terminateReason 设置为“AllTasksComplete”。

OnTaskFailure

当作业中的任何任务失败时,Batch 服务应执行的操作。

名称 类型 说明
noaction

string

不执行任何操作。 除非通过某种其他方式终止或禁用作业,否则作业将保持活动状态。

performexitoptionsjobaction

string

执行与 Task 的 exitConditions 集合中的 Task 退出条件关联的操作。 (如果这是 Task 指定的操作,则这仍可能导致不执行任何操作。)

OSDisk

计算节点的操作系统磁盘设置 (VM) 。

名称 类型 说明
caching

CachingType

指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 对于标准存储,默认值为:None。 高级存储的 ReadOnly。
缓存的默认值为 none。 有关缓存选项的信息,请参阅: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/

diskSizeGB

integer

创建新 OS 磁盘时的初始磁盘大小(以 GB 为单位)。

ephemeralOSDiskSettings

DiffDiskSettings

指定计算节点 (VM) 使用的操作系统磁盘的临时磁盘设置。

managedDisk

ManagedDisk

托管磁盘参数。

writeAcceleratorEnabled

boolean

指定是在磁盘上启用或禁用 writeAccelerator。

OutputFile

在 Batch 服务完成任务进程执行后,将文件从Azure Batch计算节点上传到另一个位置的规范。

名称 类型 说明
destination

OutputFileDestination

输出文件的目标 () 。

filePattern

string

一种模式,指示要上传的文件 () 。
支持相对路径和绝对路径。 相对路径相对于 Task 工作目录。 支持以下通配符:* 匹配 0 个或多个字符 (例如模式 abc* 将匹配 abc 或 abcdef) , ** 匹配任何目录,? 匹配任何单个字符,[abc] 匹配括号中的一个字符,[a-c] 匹配区域中的一个字符。 括号可以包含一个反数,以匹配任何未指定的字符 (例如[!abc] 匹配除 a、b 或 c) 的任何字符。 如果文件名以“.”开头,则默认忽略它,但可以通过显式指定来匹配它 (例如 ,.gif 将不匹配 .a.gif,但 ..gif 将) 。 一个简单的示例:***.txt 匹配不以“.”开头且以 Task 工作目录或任何子目录中 .txt 结尾的任何文件。 如果文件名包含通配符,则可以使用括号对其进行转义 (例如,abc[] 将匹配名为 abc) 的文件 。 请注意, 在 Windows 上, \ 和 / 都被视为目录分隔符,但 Linux 上只有 /。 在应用模式之前,将扩展 Windows 上 (%var% 的环境变量或 Linux) 上的$var。

uploadOptions

OutputFileUploadOptions

上传操作的其他选项,包括在什么条件下执行上传。

OutputFileBlobContainerDestination

指定 Azure Blob 存储容器中的文件上传目标。

名称 类型 说明
containerUrl

string

Azure Blob 存储中要向其上传文件的容器的 URL, () 。
如果不使用托管标识,URL 必须包含共享访问签名 (SAS) 向容器授予写入权限。

identityReference

ComputeNodeIdentityReference

对用于访问 containerUrl 指定的Azure Blob 存储的用户分配标识的引用
标识必须对 Azure Blob 存储 容器具有写入访问权限

path

string

Azure 存储容器中的目标 Blob 或虚拟目录。
如果 filePattern 引用特定文件 (即不包含通配符) ,则 path 是要向其上传该文件的 Blob 的名称。 如果 filePattern (包含一个或多个通配符,因此可能与多个文件) 匹配,则 path 是 blob 虚拟目录的名称 (该名称前面追加到将文件上传到的每个 blob 名称) () 。 如果省略,则文件 () 上传到容器的根目录,其 Blob 名称与其文件名匹配。

uploadHeaders

HttpHeader[]

要在上传输出文件时使用的标头的名称/值对列表
将文件上传到 Azure 存储时,将指定这些标头。 上传 Blob 时允许的标头的官方文档: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

文件应上传到的目标。

名称 类型 说明
container

OutputFileBlobContainerDestination

Azure Blob 存储中文件上传到的位置。

OutputFileUploadCondition

应上传 Task 输出文件或文件集的条件。

名称 类型 说明
taskcompletion

string

无论退出代码是什么,在任务进程退出后, () 上传文件。

taskfailure

string

仅当任务进程以非零退出代码退出后,才 () 上传文件。

tasksuccess

string

仅当任务进程退出并退出代码为 0 后,才上传文件 () 。

OutputFileUploadOptions

有关输出文件上传操作的详细信息,包括在什么条件下执行上传。

名称 类型 说明
uploadCondition

OutputFileUploadCondition

应上传 Task 输出文件或文件集的条件。
默认值为任务完成。

PoolEndpointConfiguration

池的终结点配置。

名称 类型 说明
inboundNATPools

InboundNATPool[]

入站 NAT 池的列表,可用于在外部处理单个计算节点上的特定端口。
每个 Batch 池的最大入站 NAT 池数为 5。 如果超过最大入站 NAT 池数,请求将失败,并显示 HTTP 状态代码 400。 如果 IPAddressProvisioningType 为 NoPublicIPAddresses,则无法指定此项。

PoolInformation

指定应如何将作业分配给池。

名称 类型 说明
autoPoolSpecification

AutoPoolSpecification

临时“自动池”的特征。 提交作业时,Batch 服务将创建此自动池。
如果自动创建池失败,Batch 服务会将作业移动到已完成状态,并在作业的计划错误属性中设置池创建错误。 Batch 服务管理创建 (生存期,除非指定了 keepAlive,否则删除) 自动池。 在作业处于活动状态时影响自动池生存期的任何用户操作都将导致意外行为。 必须指定池 ID 或自动池规范,但不能同时指定两者。

poolId

string

现有池的 ID。 作业的所有任务将在指定的池上运行。
必须确保此属性引用的池存在。 如果在 Batch 服务尝试计划作业时池不存在,则在创建具有该 ID 的池之前,作业不会运行任何任务。请注意,Batch 服务不会拒绝作业请求;在池存在之前,它根本不会运行任务。 必须指定池 ID 或自动池规范,但不能同时指定两者。

PoolLifetimeOption

创建的自动池的最短生存期,以及如何按计划将多个作业分配给池。

名称 类型 说明
job

string

池在专用作业的生存期内存在。 Batch 服务在创建作业时创建池。 如果“作业”选项应用于作业计划,Batch 服务会为每个按计划创建的作业创建新的自动池。

jobschedule

string

池在作业计划的生存期内存在。 Batch 服务在按计划创建第一个作业时创建池。 此选项只能应用于作业计划,而不能应用于作业。

PoolSpecification

创建新池的规范。

名称 类型 说明
applicationLicenses

string[]

Batch 服务将在池中的每个计算节点上提供的应用程序许可证列表。
应用程序许可证列表必须是可用 Batch 服务应用程序许可证的子集。 如果请求的许可证不受支持,池创建将失败。 池中允许的许可证为“maya”、“vray”、“3dsmax”、“arnold”。 添加到池的每个应用程序许可证都需额外付费。

applicationPackageReferences

ApplicationPackageReference[]

要安装在池中每个计算节点上的包列表。
创建池时,包的应用程序 ID 必须完全限定 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) 。 对包引用的更改会影响加入池的所有新节点,但在重新启动或重置映像之前,不会影响池中已有的计算节点。 任何给定池中最多有 10 个包引用。

autoScaleEvaluationInterval

string

根据自动缩放公式自动调整池大小的时间间隔。
默认值为 15 分钟。 最小值和最大值分别为 5 分钟和 168 小时。 如果指定的值小于 5 分钟或大于 168 小时,Batch 服务将拒绝请求并显示无效的属性值错误;如果直接调用 REST API,则 HTTP 状态代码为 400 (错误请求) 。

autoScaleFormula

string

池中所需计算节点数的公式。
如果 enableAutoScale 设置为 false,则不得指定此属性。 如果 enableAutoScale 设置为 true,则是必需的。 在创建池之前,将检查公式的有效性。 如果公式无效,Batch 服务会拒绝包含详细错误信息的请求。

certificateReferences

CertificateReference[]

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

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

cloudServiceConfiguration

CloudServiceConfiguration

池的云服务配置。
如果需要使用 Azure PaaS VM 创建池,则必须指定此属性。 此属性和 virtualMachineConfiguration 是互斥的,必须指定其中一个属性。 如果两者均未指定,则 Batch 服务将返回错误;如果直接调用 REST API,则 HTTP 状态代码为 400 (错误请求) 。 如果 Batch 帐户是在将 poolAllocationMode 属性设置为“UserSubscription”的情况下创建的,则无法指定此属性。

displayName

string

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

enableAutoScale

boolean

池大小是否应随时间自动调整。
如果为 false,则必须至少指定一个 targetDedicatedNodes 和 targetLowPriorityNodes。 如果为 true,则需要 autoScaleFormula 元素。 池根据公式自动调整大小。 默认值为 false。

enableInterNodeCommunication

boolean

池是否允许计算节点之间的直接通信。
启用节点间通信会限制池的最大大小,因为池的计算节点存在部署限制。 这可能会导致池未达到其所需大小。 默认值为 false。

metadata

MetadataItem[]

与作为元数据的池关联的名称/值对列表。
Batch 服务不赋予元数据任何含义;它仅用于使用用户代码。

mountConfiguration

MountConfiguration[]

要装载到池中每个节点上的文件系统列表。
这支持 Azure 文件存储、NFS、CIFS/SMB 和 Blobfuse。

networkConfiguration

NetworkConfiguration

池的网络配置。
池的网络配置。

resizeTimeout

string

将计算节点分配到池的超时。
此超时仅适用于手动缩放;当 enableAutoScale 设置为 true 时,它不起作用。 默认值为 15 分钟。 最小值为 5 分钟。 如果指定的值小于 5 分钟,Batch 服务会拒绝请求并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400 (错误请求) 。

resourceTags

object

与池关联的用户指定的标记。
要与Azure Batch池关联的用户定义的标记。 指定后,这些标记将传播到与池关联的后备 Azure 资源。 只有在将 poolAllocationMode 属性设置为“UserSubscription”的情况下创建 Batch 帐户时,才能指定此属性。

startTask

StartTask

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

targetDedicatedNodes

integer

池中所需专用计算节点数。
如果 enableAutoScale 设置为 true,则不得指定此属性。 如果 enableAutoScale 设置为 false,则必须设置 targetDedicatedNodes 和/或 targetLowPriorityNodes。

targetLowPriorityNodes

integer

池中所需的现成/低优先级计算节点数。
如果 enableAutoScale 设置为 true,则不得指定此属性。 如果 enableAutoScale 设置为 false,则必须设置 targetDedicatedNodes 和/或 targetLowPriorityNodes。

targetNodeCommunicationMode

NodeCommunicationMode

池的所需节点通信模式。
如果省略,则默认值为 Default。

taskSchedulingPolicy

TaskSchedulingPolicy

任务如何跨池中的计算节点分布。
如果未指定,则默认值为 spread。

taskSlotsPerNode

integer

可用于在池中单个计算节点上运行并发任务的任务槽数。
默认值为 1。 最大值是池 vmSize 核心数的 4 倍或 256 的较小值。

userAccounts

UserAccount[]

将在池中的每个计算节点上创建的用户帐户列表。

virtualMachineConfiguration

VirtualMachineConfiguration

池的虚拟机配置。
如果需要使用 Azure IaaS VM 创建池,则必须指定此属性。 此属性和 cloudServiceConfiguration 是互斥的,必须指定其中一个属性。 如果两者均未指定,则 Batch 服务将返回错误;如果直接调用 REST API,则 HTTP 状态代码为 400 (错误请求) 。

vmSize

string

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

PublicIPAddressConfiguration

池的网络配置的公共 IP 地址配置。

名称 类型 说明
ipAddressIds

string[]

预配计算节点时 Batch 服务将使用的公共 IP 列表。
此处指定的 IP 数限制池的最大大小 - 可为每个公共 IP 分配 100 个专用节点或 100 个现成/低优先级节点。 例如,需要 250 个专用 VM 的池至少需要指定 3 个公共 IP。 此集合的每个元素采用以下形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。

provision

IPAddressProvisioningType

池的公共 IP 地址的预配类型。
默认值为 BatchManaged。

ResourceFile

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

名称 类型 说明
autoStorageContainerName

string

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

blobPrefix

string

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

fileMode

string

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

filePath

string

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

httpUrl

string

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

identityReference

ComputeNodeIdentityReference

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

storageContainerUrl

string

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

SecurityProfile

指定虚拟机或虚拟机规模集的安全配置文件设置。

名称 类型 说明
encryptionAtHost

boolean

用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。

securityType

SecurityTypes

指定虚拟机的 SecurityType。 必须将其设置为任何指定的值才能启用 UefiSettings。

uefiSettings

UefiSettings

指定创建虚拟机时使用的安全启动和 vTPM 等安全设置。
指定创建虚拟机时使用的安全启动和 vTPM 等安全设置。

SecurityTypes

指定虚拟机的 SecurityType。 必须将其设置为任何指定的值才能启用 UefiSettings。

名称 类型 说明
trustedLaunch

string

受信任启动能够防范具有持续性的高级攻击手法。

ServiceArtifactReference

指定使用“最新”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。

名称 类型 说明
id

string

ServiceArtifactReference 的服务项目引用 ID
服务项目引用 ID 的格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}

StartTask

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

名称 类型 说明
commandLine

string

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

containerSettings

TaskContainerSettings

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

environmentSettings

EnvironmentSetting[]

StartTask 的环境变量设置列表。

maxTaskRetryCount

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

waitForSuccess

boolean

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

StorageAccountType

用于创建数据磁盘或 OS 磁盘的存储帐户类型。

名称 类型 说明
premium_lrs

string

数据磁盘/OS 磁盘应使用高级本地冗余存储。

standard_lrs

string

数据磁盘/OS 磁盘应使用标准本地冗余存储。

standardssd_lrs

string

数据磁盘/OS 磁盘应使用标准 SSD 本地冗余存储。

TaskConstraints

要应用于 Task 的执行约束。

名称 类型 说明
maxTaskRetryCount

integer

可以重试任务的最大次数。 如果任务退出代码为非零,Batch 服务会重试任务。
请注意,此值专门控制由于非零退出代码而导致 Task 可执行文件的重试次数。 Batch 服务将尝试一次任务,然后可能会重试到此限制。 例如,如果最大重试计数为 3,则 Batch 在首次尝试 (最多尝试 4 次 Task,) 重试 3 次。 如果最大重试计数为 0,则 Batch 服务不会在第一次尝试后重试 Task。 如果最大重试计数为 -1,Batch 服务将无限制地重试任务,但不建议对启动任务或任何任务执行此操作。 默认值为 0(不重试)。

maxWallClockTime

string

任务可能运行的最大已用时间,从任务启动时间开始计算。 如果任务未在时间限制内完成,Batch 服务将终止它。
如果未指定此项,则任务可以运行的时间没有时间限制。

retentionTime

string

在运行任务节点的计算节点上保留 Task 目录的最短时间,从它完成执行时算起。 在此之后,Batch 服务可能会删除 Task 目录及其所有内容。
默认值为 7 天,即任务目录将保留 7 天,除非删除计算节点或删除作业。

TaskContainerSettings

任务的容器设置。

名称 类型 说明
containerRunOptions

string

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

imageName

string

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

registry

ContainerRegistry

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

workingDirectory

ContainerWorkingDirectory

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

TaskSchedulingPolicy

指定任务应如何跨计算节点分布。

名称 类型 说明
nodeFillType

ComputeNodeFillType

任务如何跨池中的计算节点分布。
如果未指定,则默认值为 spread。

UefiSettings

指定创建虚拟机时使用的安全设置,例如安全启动和 vTPM。

名称 类型 说明
secureBootEnabled

boolean

指定是否应在虚拟机上启用安全启动。

vTpmEnabled

boolean

指定是否应在虚拟机上启用 vTPM。

UserAccount

用于创建用户的属性,该用户用于在Azure Batch计算节点上执行任务。

名称 类型 说明
elevationLevel

ElevationLevel

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

linuxUserConfiguration

LinuxUserConfiguration

用户帐户的 Linux 特定用户配置。
如果在 Windows 池上指定此属性,则忽略此属性。 如果未指定,则使用默认选项创建用户。

name

string

用户帐户的名称。 名称可以包含最大长度为 20 的任何 Unicode 字符。

password

string

用户帐户的密码。

windowsUserConfiguration

WindowsUserConfiguration

用户帐户的特定于 Windows 的用户配置。
仅当用户位于 Windows 池中时,才能指定此属性。 如果未在 Windows 池上指定 和 ,则会使用默认选项创建用户。

UserIdentity

运行任务时所依据的用户标识的定义。

名称 类型 说明
autoUser

AutoUserSpecification

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

username

string

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

VirtualMachineConfiguration

基于 Azure 虚拟机 基础结构的池中计算节点的配置。

名称 类型 说明
containerConfiguration

ContainerConfiguration

池的容器配置。
如果指定,则会在池中的每个计算节点上执行设置,以允许任务在容器中运行。 在此池上运行的所有常规任务和作业管理器任务都必须指定 containerSettings 属性,所有其他任务都可以指定它。

dataDisks

DataDisk[]

附加到池中计算节点的数据磁盘的配置。
如果池中的计算节点需要附加空数据磁盘,则必须指定此属性。 这无法更新。 每个计算节点获取自己的磁盘, (磁盘不是文件共享) 。 无法附加现有磁盘,每个附加的磁盘为空。 从池中删除计算节点时,也会删除磁盘及其关联的所有数据。 附加磁盘后未格式化,使用前必须格式化磁盘 - 有关详细信息,请参阅 https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linuxhttps://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine

diskEncryptionConfiguration

DiskEncryptionConfiguration

池的磁盘加密配置。
如果指定,则会在节点预配期间对池中的每个节点执行加密。

extensions

VMExtension[]

池的虚拟机扩展。
如果指定,则此配置中提到的扩展将安装在每个节点上。

imageReference

ImageReference

对要使用的 Azure 虚拟机市场映像或自定义虚拟机映像的引用。

licenseType

string

部署操作系统时要使用的本地许可证的类型。
这仅适用于包含 Windows 操作系统的映像,并且仅当为将要部署的计算节点持有有效的本地许可证时才应使用。 如果省略,则不应用任何本地许可折扣。 值为:

Windows_Server - 本地许可证适用于 Windows Server。 Windows_Client - 本地许可证适用于 Windows 客户端。

nodeAgentSKUId

string

要在池中的计算节点上预配的 Batch 计算节点代理的 SKU。
Batch 计算节点代理是在池中的每个计算节点上运行的程序,在计算节点和 Batch 服务之间提供命令和控制接口。 对于不同的操作系统,计算节点代理(称为 SKU)有不同的实现。 必须指定与所选映像引用匹配的计算节点代理 SKU。 若要获取支持的计算节点代理 SKU 的列表及其已验证映像引用的列表,请参阅“列出支持的计算节点代理 SKU”操作。

nodePlacementConfiguration

NodePlacementConfiguration

池的节点放置配置。
此配置将指定有关如何以物理方式分配池中的节点的规则。

osDisk

OSDisk

虚拟机操作系统磁盘的设置。

securityProfile

SecurityProfile

指定虚拟机或虚拟机规模集的安全配置文件设置。
指定虚拟机或虚拟机规模集的安全配置文件设置。

serviceArtifactReference

ServiceArtifactReference

指定使用“最新”映像版本时,用于为规模集中的所有虚拟机设置相同映像版本的服务项目引用 ID。
服务项目引用 ID 的格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}

windowsConfiguration

WindowsConfiguration

虚拟机上的 Windows 操作系统设置。
如果 imageReference 属性指定 Linux OS 映像,则不得指定此属性。

VMExtension

虚拟机扩展的配置。

名称 类型 说明
autoUpgradeMinorVersion

boolean

指示如果扩展在部署时可用,则是否应使用较新的次要版本。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。

enableAutomaticUpgrade

boolean

指示如果有较新版本的可用扩展,则平台是否应自动升级扩展。

name

string

虚拟机扩展的名称。

protectedSettings

object

该扩展可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或者根本不包含受保护的设置。

provisionAfterExtensions

string[]

扩展名称的集合。
扩展名称的集合,之后需要预配此扩展。

publisher

string

扩展处理程序发布者的名称。

settings

object

扩展的 JSON 格式公共设置。

type

string

扩展的类型。

typeHandlerVersion

string

脚本处理程序的版本。

WindowsConfiguration

要应用于虚拟机的 Windows 操作系统设置。

名称 类型 说明
enableAutomaticUpdates

boolean

是否在虚拟机上启用自动更新。
如果省略,则默认值为 true。

WindowsUserConfiguration

用于在 Windows 计算节点上创建用户帐户的属性。

名称 类型 说明
loginMode

LoginMode

用户的登录模式
VirtualMachineConfiguration 池的默认值为“batch”,CloudServiceConfiguration 池的默认值为“interactive”。