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

Pool - List

列出装载的所有池

GET {batchUrl}/pools?api-version=2024-07-01.20.0
GET {batchUrl}/pools?$filter={$filter}&$select={$select}&$expand={$expand}&maxresults={maxresults}&timeout={timeout}&api-version=2024-07-01.20.0

URI 参数

名称 必需 类型 说明
batchUrl
path True

string

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

api-version
query True

string

客户端 API 版本。

$expand
query

string

OData $expand 子句。

$filter
query

string

OData $filter 子句。 有关构造此筛选器的详细信息,请参阅 https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-pools

$select
query

string

OData $select 子句。

maxresults
query

integer

int32

响应中要返回的最大项数。 最多可以返回 1000 个池。

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

CloudPoolListResult

包含池列表的响应。

标头

  • 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

示例

Pool list

示例请求

GET account.region.batch.azure.com/pools?api-version=2024-07-01.20.0


示例响应

{
  "value": [
    {
      "id": "testPool",
      "url": "https://accountname.region.batch.azure.com/pools/testPool",
      "eTag": "0x8D4123BEF87D233",
      "lastModified": "2016-11-21T18:26:39.7108787Z",
      "creationTime": "2016-11-21T18:26:39.7108787Z",
      "state": "active",
      "stateTransitionTime": "2016-11-21T18:26:39.7108787Z",
      "allocationState": "steady",
      "allocationStateTransitionTime": "2016-11-21T18:27:40.287803Z",
      "vmSize": "small",
      "resizeTimeout": "PT15M",
      "currentDedicatedNodes": 3,
      "currentLowPriorityNodes": 0,
      "targetDedicatedNodes": 3,
      "targetLowPriorityNodes": 0,
      "enableAutoScale": false,
      "enableInterNodeCommunication": false,
      "startTask": {
        "commandLine": "cmd /c echo hello",
        "userIdentity": {
          "autoUser": {
            "scope": "task",
            "elevationLevel": "nonadmin"
          }
        },
        "maxTaskRetryCount": 0,
        "waitForSuccess": false
      },
      "taskSlotsPerNode": 1,
      "taskSchedulingPolicy": {
        "nodeFillType": "spread"
      },
      "virtualMachineConfiguration": {
        "imageReference": {
          "publisher": "MicrosoftWindowsServer",
          "offer": "WindowsServer",
          "sku": "2016-datacenter-smalldisk",
          "version": "latest"
        },
        "nodeAgentSKUId": "batch.node.windows amd64"
      }
    }
  ]
}

定义

名称 说明
AllocationState

池是否调整大小。

ApplicationPackageReference

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

AutomaticOSUpgradePolicy

用于执行自动 OS 升级的配置参数。

AutoScaleRun

池自动缩放公式执行的结果和错误。

AutoScaleRunError

执行或评估池自动缩放公式时发生的错误。

AutoUserScope

自动用户的范围

AutoUserSpecification

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

AzureBlobFileSystemConfiguration

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

AzureFileShareConfiguration

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

BatchError

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

BatchErrorDetail

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

BatchPoolIdentity

Batch 池的标识(如果已配置)。

CachingType

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

CertificateReference

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

CertificateStoreLocation

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

CertificateVisibility

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

CIFSMountConfiguration

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

CloudPool

Azure Batch 服务中的池。

CloudPoolListResult

列出帐户中的池的结果。

ComputeNodeFillType

任务如何在池中的计算节点之间分布。

ComputeNodeIdentityReference

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

ContainerConfiguration

已启用容器的池的配置。

ContainerHostBatchBindMountEntry

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

ContainerHostDataPath

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

ContainerRegistry

专用容器注册表。

ContainerType

要使用的容器技术。

ContainerWorkingDirectory

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

DataDisk

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

DiffDiskPlacement

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

DiffDiskSettings

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

DiskEncryptionConfiguration

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

DiskEncryptionTarget

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

DynamicVNetAssignmentScope

动态 vnet 分配的范围。

ElevationLevel

用户的提升级别。

EnvironmentSetting

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

ErrorMessage

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

ImageReference

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

InboundEndpointProtocol

终结点的协议。

InboundNATPool

入站 NAT 池,可用于在外部处理 Batch 池中计算节点上的特定端口。

IPAddressProvisioningType

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

LinuxUserConfiguration

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

LoginMode

用户的登录模式

ManagedDisk
MetadataItem

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

MountConfiguration

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

NameValuePair

表示名称/值对。

NetworkConfiguration

池的网络配置。

NetworkSecurityGroupRule

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

NetworkSecurityGroupRuleAccess

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

NFSMountConfiguration

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

NodeCommunicationMode

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

NodePlacementConfiguration

池的节点放置配置。

NodePlacementPolicyType

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

OSDisk

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

PoolEndpointConfiguration

池的终结点配置。

PoolIdentityType

Batch 池的标识(如果已配置)。

PoolState

池的当前状态。

PoolStatistics

包含池生存期的利用率和资源使用情况统计信息。

PublicIPAddressConfiguration

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

ResizeError

调整池大小时发生的错误。

ResourceFile

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

ResourceStatistics

与池中的计算节点的资源消耗相关的统计信息。

RollingUpgradePolicy

执行滚动升级时使用的配置参数。

SecurityEncryptionTypes

指定托管磁盘的 EncryptionType。 它设置为 VMGuestStateOnly 以仅加密 VMGuestState blob,而 NonPersistedTPM 用于不保留 VMGuestState blob 中的固件状态。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

SecurityProfile

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

SecurityTypes

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

ServiceArtifactReference

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

StartTask

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

StorageAccountType

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

TaskContainerSettings

任务的容器设置。

TaskSchedulingPolicy

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

UefiSettings

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

UpgradeMode

指定升级到规模集中虚拟机的模式。

可能的值包括:

手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。

自动 - 规模集中的所有虚拟机同时自动更新。

滚动 - 规模集按批执行更新,并在两者之间有可选的暂停时间。

UpgradePolicy

描述升级策略 - 自动、手动或滚动。

UsageStatistics

与池使用情况信息相关的统计信息。

UserAccount

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

UserAssignedIdentity

用户分配的标识

UserIdentity

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

VirtualMachineConfiguration

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

VMDiskSecurityProfile

指定托管磁盘的安全配置文件设置。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

VMExtension

虚拟机扩展的配置。

WindowsConfiguration

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

WindowsUserConfiguration

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

AllocationState

池是否调整大小。

名称 类型 说明
resizing

string

池正在调整大小;也就是说,正在向池中添加或删除计算节点。

steady

string

池未调整大小。 池中的计算节点数没有变化。 池在创建池时以及池上未执行任何操作以更改计算节点数时进入此状态。

stopping

string

池调整大小,但用户已请求停止调整大小,但停止请求尚未完成。

ApplicationPackageReference

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

名称 类型 说明
applicationId

string

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

version

string

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

AutomaticOSUpgradePolicy

用于执行自动 OS 升级的配置参数。

名称 类型 说明
disableAutomaticRollback

boolean

是否应禁用 OS 映像回滚功能。

enableAutomaticOSUpgrade

boolean

指示当较新版本的 OS 映像可用时,是否应以滚动方式自动将 OS 升级应用于规模集实例。

如果对于基于 Windows 的池,WindowsConfiguration.enableAutomaticUpdates 不能设置为 true。

osRollingUpgradeDeferral

boolean

如果 OS 升级正在运行任务,请延迟 TVM 上的 OS 升级。

useRollingUpgradePolicy

boolean

指示是否应在自动 OS 升级期间使用滚动升级策略。 如果未在 VMSS 上定义任何策略,则自动 OS 升级将回退到默认策略。

AutoScaleRun

池自动缩放公式执行的结果和错误。

名称 类型 说明
error

AutoScaleRunError

如果评估失败,在池中评估自动缩放公式时遇到错误的详细信息。

results

string

自动缩放公式计算中使用的所有变量的最终值。
每个变量值以 $variable=value 的形式返回,变量由分号分隔。

timestamp

string

上次计算自动缩放公式的时间。

AutoScaleRunError

执行或评估池自动缩放公式时发生的错误。

名称 类型 说明
code

string

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

message

string

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

values

NameValuePair[]

与自动缩放错误相关的其他错误详细信息的列表。

AutoUserScope

自动用户的范围

名称 类型 说明
pool

string

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

task

string

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

AutoUserSpecification

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

名称 类型 说明
elevationLevel

ElevationLevel

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

scope

AutoUserScope

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

AzureBlobFileSystemConfiguration

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

名称 类型 说明
accountKey

string

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

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

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

BatchPoolIdentity

Batch 池的标识(如果已配置)。

名称 类型 说明
type

PoolIdentityType

Batch 池的标识(如果已配置)。
与 Batch 池关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。

userAssignedIdentities

UserAssignedIdentity[]

与 Batch 帐户关联的用户标识列表。
用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。

CachingType

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

名称 类型 说明
none

string

未启用磁盘的缓存模式。

readonly

string

磁盘的缓存模式是只读的。

readwrite

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

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

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 文件系统进行身份验证的用户。

CloudPool

Azure Batch 服务中的池。

名称 类型 说明
allocationState

AllocationState

池是否调整大小。

allocationStateTransitionTime

string

池进入其当前分配状态的时间。

applicationPackageReferences

ApplicationPackageReference[]

要安装在池中每个计算节点上的包列表。
对包引用的更改会影响所有加入池的新节点,但不会影响池中已存在于池中的计算节点,直到重新启动或重新映像这些节点。 任何给定池上最多有 10 个包引用。

autoScaleEvaluationInterval

string

根据自动缩放公式自动调整池大小的时间间隔。
仅当池自动缩放(即 enableAutoScale 为 true)时,才会设置此属性。

autoScaleFormula

string

池中所需计算节点数的公式。
仅当池自动缩放(即 enableAutoScale 为 true)时,才会设置此属性。

autoScaleRun

AutoScaleRun

自动缩放公式上次执行的结果和错误。
仅当池自动缩放(即 enableAutoScale 为 true)时,才会设置此属性。

certificateReferences

CertificateReference[]

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

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

creationTime

string

池的创建时间。

currentDedicatedNodes

integer

池中当前专用计算节点数。

currentLowPriorityNodes

integer

池中当前存在的现成/低优先级计算节点数。
此计数中包括已抢占的现成/低优先级计算节点。

currentNodeCommunicationMode

NodeCommunicationMode

池通信模式的当前状态。

displayName

string

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

eTag

string

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

enableAutoScale

boolean

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

enableInterNodeCommunication

boolean

池是否允许在计算节点之间直接通信。
这会限制哪些计算节点可以分配给池。 指定此值可以减少请求的计算节点数在池中分配的可能性。

id

string

唯一标识帐户中的池的字符串。
ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 ID 是区分大小写和不区分大小写的(也就是说,帐户中可能没有两个 ID,仅大小写不同)。

identity

BatchPoolIdentity

Batch 池的标识(如果已配置)。
与 Batch 池关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。

lastModified

string

池的上次修改时间。
这是池级别数据(例如 targetDedicatedNodes 或 enableAutoscale 设置)上次更改的时间。 它不考虑节点级更改,例如计算节点更改状态。

metadata

MetadataItem[]

与池关联的名称/值对列表作为元数据。

mountConfiguration

MountConfiguration[]

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

networkConfiguration

NetworkConfiguration

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

resizeErrors

ResizeError[]

在池上执行上一次重设大小时遇到的错误列表。
仅当上一个池调整大小期间发生一个或多个错误,并且仅当 Pool allocationState 为稳定时,才会设置此属性。

resizeTimeout

string

将计算节点分配给池的超时。
这是最近调整大小操作的超时。 (创建池时的初始大小调整计为调整大小。默认值为 15 分钟。

resourceTags

object

与池关联的用户指定的标记。
要与 Azure Batch 池关联的用户定义的标记。 指定后,这些标记将传播到与池关联的支持 Azure 资源。 仅当使用 poolAllocationMode 属性设置为“UserSubscription”创建的 Batch 帐户时,才能指定此属性。

startTask

StartTask

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

state

PoolState

池的当前状态。

stateTransitionTime

string

池进入其当前状态的时间。

stats

PoolStatistics

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

targetDedicatedNodes

integer

池中所需的专用计算节点数。

targetLowPriorityNodes

integer

池中所需的现成/低优先级计算节点数。

targetNodeCommunicationMode

NodeCommunicationMode

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

taskSchedulingPolicy

TaskSchedulingPolicy

任务如何在池中的计算节点之间分布。
如果未指定,则默认为分散。

taskSlotsPerNode

integer

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

upgradePolicy

UpgradePolicy

池的升级策略。
描述升级策略 - 自动、手动或滚动。

url

string

池的 URL。

userAccounts

UserAccount[]

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

virtualMachineConfiguration

VirtualMachineConfiguration

池的虚拟机配置。
必须指定此属性。

vmSize

string

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

CloudPoolListResult

列出帐户中的池的结果。

名称 类型 说明
odata.nextLink

string

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

value

CloudPool[]

池列表。

ComputeNodeFillType

任务如何在池中的计算节点之间分布。

名称 类型 说明
pack

string

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

spread

string

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

ComputeNodeIdentityReference

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

名称 类型 说明
resourceId

string

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

ContainerConfiguration

已启用容器的池的配置。

名称 类型 说明
containerImageNames

string[]

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

containerRegistries

ContainerRegistry[]

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

type

ContainerType

要使用的容器技术。

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

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

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 磁盘大小要求的详细信息,请参阅 https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirementshttps://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements 和 Linux VM 的 Windows VM 的临时 OS 磁盘大小要求。

DiskEncryptionConfiguration

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

名称 类型 说明
targets

DiskEncryptionTarget[]

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

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

环境变量的值。

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/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 由用户提供,用于预配计算节点。

LinuxUserConfiguration

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

名称 类型 说明
gid

integer

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

sshPrivateKey

string

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

uid

integer

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

LoginMode

用户的登录模式

名称 类型 说明
batch

string

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

interactive

string

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

ManagedDisk

名称 类型 说明
securityProfile

VMDiskSecurityProfile

指定托管磁盘的安全配置文件设置。
指定托管磁盘的安全配置文件设置。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

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 池中计算节点上终结点的配置。

publicIPAddressConfiguration

PublicIPAddressConfiguration

Batch 池中计算节点的公共 IPAddress 配置。
池的网络配置的公共 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 服务会将计算节点的状态设置为不可用。 仅支持 ARM 虚拟网络('Microsoft.Network/virtualNetworks')。 如果指定的 VNet 具有任何关联的网络安全组(NSG),则必须为入站通信启用一些保留的系统端口。 启用端口 29876 和 29877,以及适用于 Linux 的端口 22 和 Windows 端口 3389。 此外,在端口 443 上启用到 Azure 存储的出站连接。 有关详细信息,请参阅:https://docs.microsoft.com/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

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

default

string

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

simplified

string

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

NodePlacementConfiguration

池的节点放置配置。

名称 类型 说明
policy

NodePlacementPolicyType

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

NodePlacementPolicyType

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

名称 类型 说明
regional

string

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

zonal

string

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

OSDisk

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

名称 类型 说明
caching

CachingType

指定缓存要求。 可能的值包括:None、ReadOnly、ReadWrite。 默认值为:标准存储无。 高级存储的 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。

PoolEndpointConfiguration

池的终结点配置。

名称 类型 说明
inboundNATPools

InboundNATPool[]

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

PoolIdentityType

Batch 池的标识(如果已配置)。

名称 类型 说明
None

string

Batch 池没有与之关联的标识。 在更新池中设置 None 将删除现有标识。

UserAssigned

string

Batch 池具有用户分配的标识。

PoolState

池的当前状态。

名称 类型 说明
active

string

池可用于运行受计算节点可用性约束的任务。

deleting

string

用户已请求删除池,但删除操作尚未完成。

PoolStatistics

包含池生存期的利用率和资源使用情况统计信息。

名称 类型 说明
lastUpdateTime

string

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

resourceStats

ResourceStatistics

与池中的计算节点的资源消耗相关的统计信息。

startTime

string

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

url

string

统计信息的 URL。

usageStats

UsageStatistics

与池使用情况相关的统计信息,例如使用的核心时间量。

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。

ResizeError

调整池大小时发生的错误。

名称 类型 说明
code

string

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

message

string

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

values

NameValuePair[]

与池大小调整错误相关的其他错误详细信息的列表。

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 以允许公共访问。

ResourceStatistics

与池中的计算节点的资源消耗相关的统计信息。

名称 类型 说明
avgCPUPercentage

number

池中所有计算节点的平均 CPU 使用率(每个节点的百分比)。

avgDiskGiB

number

池中所有计算节点的 GiB 平均已用磁盘空间。

avgMemoryGiB

number

池中所有计算节点的 GiB 的平均内存使用率。

diskReadGiB

number

池中所有计算节点读取磁盘 GiB 中的数据总量。

diskReadIOps

integer

池中所有计算节点的磁盘读取操作总数。

diskWriteGiB

number

池中所有计算节点的磁盘写入 GiB 中的数据总量。

diskWriteIOps

integer

池中所有计算节点的磁盘写入操作总数。

lastUpdateTime

string

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

networkReadGiB

number

池中所有计算节点的网络 GiB 中读取的总数据量。

networkWriteGiB

number

池中所有计算节点的网络写入 GiB 中的数据总量。

peakDiskGiB

number

池中所有计算节点的 GiB 中的峰值已用磁盘空间。

peakMemoryGiB

number

池中所有计算节点的 GiB 中的峰值内存使用率。

startTime

string

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

RollingUpgradePolicy

执行滚动升级时使用的配置参数。

名称 类型 说明
enableCrossZoneUpgrade

boolean

允许 VMSS 在构造升级批处理时忽略 AZ 边界。 考虑 Update 域和 maxBatchInstancePercent 以确定批大小。 仅当将 NodePlacementConfiguration 用作 Zonal 时,此字段才可设置为 true 或 false。

maxBatchInstancePercent

integer

一批滚动升级同时升级的总虚拟机实例的最大百分比。 由于这是一个最大值,因此以前的或将来的批中的不正常实例可能会导致批处理中的实例百分比降低,以确保更高的可靠性。 此字段的值应介于 5 和 100 之间(含)。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都赋值,则 maxBatchInstancePercent 的值不应大于 maxUnhealthyInstancePercent。

maxUnhealthyInstancePercent

integer

规模集中可能同时运行不正常的虚拟机实例的最大百分比,无论是由于升级,还是虚拟机运行状况检查在滚动升级中止之前处于不正常状态。 在启动任何批处理之前,将检查此约束。 此字段的值应介于 5 和 100 之间(含)。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都赋值,则 maxBatchInstancePercent 的值不应大于 maxUnhealthyInstancePercent。

maxUnhealthyUpgradedInstancePercent

integer

可发现处于不正常状态的已升级虚拟机实例的最大百分比。 升级每个批处理后,将进行此检查。 如果超过此百分比,滚动更新将中止。 此字段的值应介于 0 和 100 之间(含)。

pauseTimeBetweenBatches

string

完成一批中所有虚拟机的更新和开始下一批之间的等待时间。 持续时间应采用 ISO 8601 格式指定。

prioritizeUnhealthyInstances

boolean

在任何正常运行的实例之前,升级规模集中的所有不正常实例。

rollbackFailedInstancesOnPolicyBreach

boolean

如果违反滚动升级策略,回滚失败实例到以前的模型。

SecurityEncryptionTypes

指定托管磁盘的 EncryptionType。 它设置为 VMGuestStateOnly 以仅加密 VMGuestState blob,而 NonPersistedTPM 用于不保留 VMGuestState blob 中的固件状态。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

名称 类型 说明
NonPersistedTPM

string

VMGuestStateOnly

string

SecurityProfile

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

名称 类型 说明
encryptionAtHost

boolean

用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 有关主机要求加密的详细信息,请参阅 https://learn.microsoft.com/azure/virtual-machines/disk-encryption#supported-vm-sizes

securityType

SecurityTypes

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

uefiSettings

UefiSettings

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

SecurityTypes

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

名称 类型 说明
confidentialVM

string

Azure 机密计算为具有高安全性和机密性要求的租户提供机密 VM。 这些 VM 提供强大的硬件强制边界,以帮助满足安全需求。 可以使用机密 VM 进行迁移,而无需更改代码,而平台可保护 VM 的状态不被读取或修改。

trustedLaunch

string

受信任的启动可防范高级和持久性攻击技术。

ServiceArtifactReference

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

名称 类型 说明
id

string

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

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。

StorageAccountType

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

名称 类型 说明
premium_lrs

string

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

standard_lrs

string

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

standardssd_lrs

string

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

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

TaskSchedulingPolicy

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

名称 类型 说明
nodeFillType

ComputeNodeFillType

任务如何在池中的计算节点之间分布。
如果未指定,则默认为分散。

UefiSettings

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

名称 类型 说明
secureBootEnabled

boolean

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

vTpmEnabled

boolean

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

UpgradeMode

指定升级到规模集中虚拟机的模式。

可能的值包括:

手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。

自动 - 规模集中的所有虚拟机同时自动更新。

滚动 - 规模集按批执行更新,并在两者之间有可选的暂停时间。

名称 类型 说明
automatic

string

规模集中的所有虚拟机都会同时自动更新。

manual

string

可以控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。

rolling

string

规模集中的现有实例将分批关闭以升级。 升级后的批处理完成后,实例将再次开始获取流量,下一批将开始。 这一直持续到所有实例 up-to-date。

UpgradePolicy

描述升级策略 - 自动、手动或滚动。

名称 类型 说明
automaticOSUpgradePolicy

AutomaticOSUpgradePolicy

用于执行自动 OS 升级的配置参数。
用于执行自动 OS 升级的配置参数。

mode

UpgradeMode

指定升级到规模集中虚拟机的模式。

可能的值包括:

手动 - 控制对规模集中虚拟机的更新的应用程序。 使用 manualUpgrade 操作执行此操作。

自动 - 规模集中的所有虚拟机同时自动更新。

滚动 - 规模集按批执行更新,并在两者之间有可选的暂停时间。

rollingUpgradePolicy

RollingUpgradePolicy

执行滚动升级时使用的配置参数。
执行滚动升级时使用的配置参数。

UsageStatistics

与池使用情况信息相关的统计信息。

名称 类型 说明
dedicatedCoreTime

string

专用计算节点核心的聚合时钟时间是池的一部分。

lastUpdateTime

string

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

startTime

string

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

UserAccount

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

名称 类型 说明
elevationLevel

ElevationLevel

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

linuxUserConfiguration

LinuxUserConfiguration

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

name

string

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

password

string

用户帐户的密码。

windowsUserConfiguration

WindowsUserConfiguration

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

UserAssignedIdentity

用户分配的标识

名称 类型 说明
clientId

string

用户分配标识的客户端 ID。

principalId

string

用户分配标识的主体 ID。

resourceId

string

用户分配标识的 ARM 资源 ID

UserIdentity

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

名称 类型 说明
autoUser

AutoUserSpecification

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

username

string

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

VirtualMachineConfiguration

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

名称 类型 说明
containerConfiguration

ContainerConfiguration

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

dataDisks

DataDisk[]

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

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

windowsConfiguration

WindowsConfiguration

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

VMDiskSecurityProfile

指定托管磁盘的安全配置文件设置。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

名称 类型 说明
securityEncryptionType

SecurityEncryptionTypes

指定托管磁盘的 EncryptionType。 它设置为 VMGuestStateOnly 以仅加密 VMGuestState blob,而 NonPersistedTPM 用于不保留 VMGuestState blob 中的固件状态。 注意:只能为机密 VM 设置它,在使用机密 VM 时是必需的。

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

用户的登录模式
默认值为“batch”。