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

Pool - Update Properties

更新指定池的属性。
这将完全替换池的所有可更新属性。 例如,如果池具有与之关联的 StartTask,并且未使用此请求指定 StartTask,则 Batch 服务将删除现有的 StartTask。

POST {batchUrl}/pools/{poolId}/updateproperties?api-version=2024-07-01.20.0
POST {batchUrl}/pools/{poolId}/updateproperties?timeout={timeout}&api-version=2024-07-01.20.0

URI 参数

名称 必需 类型 说明
batchUrl
path True

string

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

poolId
path True

string

要更新的池的 ID。

api-version
query True

string

客户端 API 版本。

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,请显式设置它。

请求正文

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

名称 必需 类型 说明
applicationPackageReferences True

ApplicationPackageReference[]

要安装在池中每个计算节点上的应用程序包列表。
该列表替换池上的任何现有应用程序包引用。 对应用程序包引用的更改会影响所有加入池的新计算节点,但不会影响池中已存在于池中的计算节点,直到重新启动或重新映像这些节点。 任何给定池上最多有 10 个应用程序包引用。 如果省略,或者指定空集合,则会从池中删除任何现有的应用程序包引用。 在给定池上最多可以指定 10 个引用。

certificateReferences True

CertificateReference[]

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

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

metadata True

MetadataItem[]

与池关联的名称/值对列表作为元数据。
此列表替换池上配置的任何现有元数据。 如果省略,或者指定空集合,则会从池中删除任何现有元数据。

startTask

StartTask

在联接池时在每个计算节点上运行的任务。 当将计算节点添加到池或重启计算节点时,任务将运行。
如果此元素存在,它将覆盖任何现有的 StartTask。 如果省略,将从池中删除任何现有的 StartTask。

targetNodeCommunicationMode

NodeCommunicationMode

池的所需节点通信模式。
此设置替换池上的任何现有 targetNodeCommunication 设置。 如果省略,则现有设置为默认值。

响应

名称 类型 说明
204 No Content

对 Batch 服务的请求成功。

标头

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: 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 update

示例请求

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



{
  "startTask": {
    "commandLine": "/bin/bash -c 'echo start task'"
  },
  "certificateReferences": [],
  "applicationPackageReferences": [],
  "metadata": []
}

示例响应

定义

名称 说明
ApplicationPackageReference

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

AutoUserScope

自动用户的范围

AutoUserSpecification

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

BatchError

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

BatchErrorDetail

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

CertificateReference

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

CertificateStoreLocation

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

CertificateVisibility

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

ComputeNodeIdentityReference

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

ContainerHostBatchBindMountEntry

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

ContainerHostDataPath

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

ContainerRegistry

专用容器注册表。

ContainerWorkingDirectory

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

ElevationLevel

用户的提升级别。

EnvironmentSetting

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

ErrorMessage

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

MetadataItem

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

NodeCommunicationMode

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

PoolUpdatePropertiesParameter

要对池进行的更改集。

ResourceFile

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

StartTask

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

TaskContainerSettings

任务的容器设置。

UserIdentity

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

ApplicationPackageReference

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

名称 类型 说明
applicationId

string

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

version

string

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

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

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

ComputeNodeIdentityReference

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

名称 类型 说明
resourceId

string

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

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

环境变量的值。

ErrorMessage

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

名称 类型 说明
lang

string

错误消息的语言代码

value

string

消息的文本。

MetadataItem

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

名称 类型 说明
name

string

元数据项的名称。

value

string

元数据项的值。

NodeCommunicationMode

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

名称 类型 说明
classic

string

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

default

string

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

simplified

string

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

PoolUpdatePropertiesParameter

要对池进行的更改集。

名称 类型 说明
applicationPackageReferences

ApplicationPackageReference[]

要安装在池中每个计算节点上的应用程序包列表。
该列表替换池上的任何现有应用程序包引用。 对应用程序包引用的更改会影响所有加入池的新计算节点,但不会影响池中已存在于池中的计算节点,直到重新启动或重新映像这些节点。 任何给定池上最多有 10 个应用程序包引用。 如果省略,或者指定空集合,则会从池中删除任何现有的应用程序包引用。 在给定池上最多可以指定 10 个引用。

certificateReferences

CertificateReference[]

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

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

metadata

MetadataItem[]

与池关联的名称/值对列表作为元数据。
此列表替换池上配置的任何现有元数据。 如果省略,或者指定空集合,则会从池中删除任何现有元数据。

startTask

StartTask

在联接池时在每个计算节点上运行的任务。 当将计算节点添加到池或重启计算节点时,任务将运行。
如果此元素存在,它将覆盖任何现有的 StartTask。 如果省略,将从池中删除任何现有的 StartTask。

targetNodeCommunicationMode

NodeCommunicationMode

池的所需节点通信模式。
此设置替换池上的任何现有 targetNodeCommunication 设置。 如果省略,则现有设置为默认值。

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

StartTask

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

名称 类型 说明
commandLine

string

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

containerSettings

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。

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

UserIdentity

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

名称 类型 说明
autoUser

AutoUserSpecification

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

username

string

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