Microsoft.Batch batchAccounts/pools 2024-07-01
Bicep 資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 Bicep 新增至範本。
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2024-07-01' = {
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
name: 'string'
properties: {
applicationLicenses: [
'string'
]
applicationPackages: [
{
id: 'string'
version: 'string'
}
]
certificates: [
{
id: 'string'
storeLocation: 'string'
storeName: 'string'
visibility: [
'string'
]
}
]
deploymentConfiguration: {
virtualMachineConfiguration: {
containerConfiguration: {
containerImageNames: [
'string'
]
containerRegistries: [
{
identityReference: {
resourceId: 'string'
}
password: 'string'
registryServer: 'string'
username: 'string'
}
]
type: 'string'
}
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
diskEncryptionConfiguration: {
targets: [
'string'
]
}
extensions: [
{
autoUpgradeMinorVersion: bool
enableAutomaticUpgrade: bool
name: 'string'
protectedSettings: any(Azure.Bicep.Types.Concrete.AnyType)
provisionAfterExtensions: [
'string'
]
publisher: 'string'
settings: any(Azure.Bicep.Types.Concrete.AnyType)
type: 'string'
typeHandlerVersion: 'string'
}
]
imageReference: {
communityGalleryImageId: 'string'
id: 'string'
offer: 'string'
publisher: 'string'
sharedGalleryImageId: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
nodePlacementConfiguration: {
policy: 'string'
}
osDisk: {
caching: 'string'
diskSizeGB: int
ephemeralOSDiskSettings: {
placement: 'CacheDisk'
}
managedDisk: {
securityProfile: {
securityEncryptionType: 'string'
}
storageAccountType: 'string'
}
writeAcceleratorEnabled: bool
}
securityProfile: {
encryptionAtHost: bool
securityType: 'string'
uefiSettings: {
secureBootEnabled: bool
vTpmEnabled: bool
}
}
serviceArtifactReference: {
id: 'string'
}
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
metadata: [
{
name: 'string'
value: 'string'
}
]
mountConfiguration: [
{
azureBlobFileSystemConfiguration: {
accountKey: 'string'
accountName: 'string'
blobfuseOptions: 'string'
containerName: 'string'
identityReference: {
resourceId: 'string'
}
relativeMountPath: 'string'
sasKey: 'string'
}
azureFileShareConfiguration: {
accountKey: 'string'
accountName: 'string'
azureFileUrl: 'string'
mountOptions: 'string'
relativeMountPath: 'string'
}
cifsMountConfiguration: {
mountOptions: 'string'
password: 'string'
relativeMountPath: 'string'
source: 'string'
userName: 'string'
}
nfsMountConfiguration: {
mountOptions: 'string'
relativeMountPath: 'string'
source: 'string'
}
}
]
networkConfiguration: {
dynamicVnetAssignmentScope: 'string'
enableAcceleratedNetworking: bool
endpointConfiguration: {
inboundNatPools: [
{
backendPort: int
frontendPortRangeEnd: int
frontendPortRangeStart: int
name: 'string'
networkSecurityGroupRules: [
{
access: 'string'
priority: int
sourceAddressPrefix: 'string'
sourcePortRanges: [
'string'
]
}
]
protocol: 'string'
}
]
}
publicIPAddressConfiguration: {
ipAddressIds: [
'string'
]
provision: 'string'
}
subnetId: 'string'
}
resourceTags: {
{customized property}: 'string'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
containerSettings: {
containerHostBatchBindMounts: [
{
isReadOnly: bool
source: 'string'
}
]
containerRunOptions: 'string'
imageName: 'string'
registry: {
identityReference: {
resourceId: 'string'
}
password: 'string'
registryServer: 'string'
username: 'string'
}
workingDirectory: 'string'
}
environmentSettings: [
{
name: 'string'
value: 'string'
}
]
maxTaskRetryCount: int
resourceFiles: [
{
autoStorageContainerName: 'string'
blobPrefix: 'string'
fileMode: 'string'
filePath: 'string'
httpUrl: 'string'
identityReference: {
resourceId: 'string'
}
storageContainerUrl: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
targetNodeCommunicationMode: 'string'
taskSchedulingPolicy: {
nodeFillType: 'string'
}
taskSlotsPerNode: int
upgradePolicy: {
automaticOSUpgradePolicy: {
disableAutomaticRollback: bool
enableAutomaticOSUpgrade: bool
osRollingUpgradeDeferral: bool
useRollingUpgradePolicy: bool
}
mode: 'string'
rollingUpgradePolicy: {
enableCrossZoneUpgrade: bool
maxBatchInstancePercent: int
maxUnhealthyInstancePercent: int
maxUnhealthyUpgradedInstancePercent: int
pauseTimeBetweenBatches: 'string'
prioritizeUnhealthyInstances: bool
rollbackFailedInstancesOnPolicyBreach: bool
}
}
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
windowsUserConfiguration: {
loginMode: 'string'
}
}
]
vmSize: 'string'
}
tags: {
{customized property}: 'string'
}
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutomaticOSUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
disableAutomaticRollback | 是否應停用OS映像復原功能。 | bool |
enableAutomaticOSUpgrade | 指出當較新版本的OS映像可用時,是否應該以滾動方式自動套用作業系統升級至擴展集實例。 如果 Windows 集區設為 true,WindowsConfiguration.enableAutomaticUpdates 無法設定為 true。 |
bool |
osRollingUpgradeDeferral | 如果 OS 正在執行工作,請延遲 TVM 上的 OS 升級。 | bool |
useRollingUpgradePolicy | 指出是否應在自動OS升級期間使用滾動升級原則。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 | bool |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | 預設值為 Pool。 如果集區正在執行 Windows,則當需要更嚴格的工作隔離時,應該指定 Task 的值。 例如,如果工作以可能會影響其他工作的方式變動登錄,或已在集區上指定憑證,而該集區上不應該由一般工作存取,但應該可透過啟動工作存取。 | 'Pool' 'Task' |
AzureBlobFileSystemConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | 此屬性與 sasKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
blobfuseOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
containerName | Azure Blob 記憶體容器名稱。 | 字串 (必要) |
identityReference | 此屬性與 accountKey 和 sasKey 互斥;必須只指定一個。 | ComputeNodeIdentityReference |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
sasKey | 此屬性與 accountKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
AzureFileShareConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | Azure 記憶體帳戶金鑰。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
azureFileUrl | 這是格式為 『https://{account}.file.core.windows.net/』。 | 字串 (必要) |
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
AzureProxyResourceTags
名字 | 描述 | 價值 |
---|
BatchPoolIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於 Batch 集區的身分識別類型。 | 'None' 'UserAssigned' (必要) |
userAssignedIdentities | 與 Batch 集區相關聯的使用者身分識別清單。 | BatchPoolIdentityUserAssignedIdentities |
BatchPoolIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 計算節點設定的集區。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 計算節點設定的集區。 常見的存放區名稱包括:My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定義存放區名稱。 預設值為 My。 | 字串 |
能見度 | 計算節點上的哪些用戶帳戶應該可以存取憑證的私用數據。 | 包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CifsMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
密碼 | 要用於驗證 CIFS 檔案系統的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
userName | 要用於對 CIFS 檔案系統進行驗證的使用者。 | 字串 (必要) |
ComputeNodeIdentityReference
名字 | 描述 | 價值 |
---|---|---|
resourceId | 使用者指派身分識別的 ARM 資源識別碼。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'CriCompatible' 'DockerCompatible' (必要) |
ContainerHostBatchBindMountEntry
名字 | 描述 | 價值 |
---|---|---|
isReadOnly | 針對 Linux,如果您將此路徑掛接為讀取/寫入模式,這並不表示容器中的所有使用者都有路徑的讀取/寫入存取權,這取決於主機 VM 中的存取權。 如果此路徑是只讀掛接,容器內的所有使用者將無法修改路徑。 | bool |
源 | 要掛接至容器工作容器的路徑。 | 'Applications' 'JobPrep' 'Shared' 'Startup' 'Task' 'VfsMounts' |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
密碼 | 登入登錄伺服器的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
registryServer | 如果省略,預設值為 「docker.io」。。 | 字串 |
username | 要登入登錄伺服器的用戶名稱。 | 字串 |
DataDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 值為: none - 未啟用磁碟的快取模式。 readOnly - 磁碟的快取模式是只讀的。 readWrite - 磁碟的快取模式是讀取和寫入。 快取的預設值為 none。 如需快取選項的相關信息,請參閱:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 |
'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新數據磁碟時,以 GB 為單位的初始磁碟大小。 | int (必要) |
倫 | lun 可用來唯一識別每個數據磁碟。 如果連結多個磁碟,則每個磁碟都應該有相異的 Lun。 值必須介於 0 到 63 之間,且包含 。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
virtualMachineConfiguration | 以 Azure 虛擬機器基礎結構為基礎的集區中計算節點的組態。 | VirtualMachineConfiguration |
DiffDiskSettings
名字 | 描述 | 價值 |
---|---|---|
放置 | 用戶可以在要求中使用這個屬性來選擇操作系統應該位於哪個位置。例如,暫時 OS 磁碟布建的快取磁碟空間。 如需暫時 OS 磁碟大小需求的詳細資訊,請參閱 /azure/virtual-machines/windows/ephemeral-os-disks#size-requirements 和 /azure/virtual-machines/linux/ephemeral-os-disks#size-requirements 和 Linux VM 的暫時 OS 磁盘大小需求。 | 'CacheDisk' |
DiskEncryptionConfiguration
名字 | 描述 | 價值 |
---|---|---|
目標 | 在 Linux 集區上,僅支援 「TemporaryDisk」 ;在 Windows 集區上,必須指定 「OsDisk」 和 「TemporaryDisk」。。 | 包含任何的字串數組: 'OsDisk' 'TemporaryDisk' |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
communityGalleryImageId | 這個屬性與其他屬性互斥,而且可以從社群資源庫映像 GET 呼叫擷取。 | 字串 |
id | 這個屬性與其他屬性互斥。 Azure 計算資源庫映像必須具有與 Azure Batch 帳戶相同的區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sharedGalleryImageId | 這個屬性與其他屬性互斥,而且可以從共用資源庫映像 GET 呼叫擷取。 | 字串 |
sku | 例如,18.04-LTS 或 2022-datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,但 29876 和 29877 除外,因為這些值是保留的。 如果提供任何保留值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeEnd | 可接受的值範圍介於 1 到 65534 之間,但 Batch 服務保留的埠從 50000 到 55000。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeStart | 可接受的值範圍介於 1 到 65534 之間,但保留的埠介於 50000 到 55000 之間。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
名字 | 名稱在 Batch 集區內必須是唯一的,可以包含字母、數位、底線、句號和連字元。 名稱必須以字母或數字開頭,結尾必須是字母、數位或底線,且不能超過 77 個字元。 如果提供任何無效的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | 字串 (必要) |
networkSecurityGroupRules | 可以跨 Batch 集區上所有端點指定的規則數目上限為 25。 如果未指定網路安全組規則,則會建立默認規則以允許輸入存取指定的 backendPort。 如果超過網路安全組規則的最大數目,要求會失敗,並出現 HTTP 狀態代碼 400。 | NetworkSecurityGroupRule[] |
協定 | 端點的通訊協定。 | 'TCP' 'UDP' (必要) |
LinuxUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
gid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定,則基礎操作系統會挑選 gid。 | int |
sshPrivateKey | 私鑰不得受到密碼保護。 當集區的 enableInterNodeCommunication 屬性為 true 時,私鑰用於在 Linux 集區中的節點之間自動設定非對稱密鑰型驗證(如果 enableInterNodeCommunication 為 false,則會忽略它)。 其方式是將金鑰組放入使用者的 .ssh 目錄中。 如果未指定,則不會在節點之間設定無密碼 SSH(不會修改使用者的 .ssh 目錄)。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
uid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定基礎操作系統,則會挑選 uid。 | int |
ManagedDisk
名字 | 描述 | 價值 |
---|---|---|
securityProfile | 指定受控磁碟的安全性配置檔設定。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | VMDiskSecurityProfile |
storageAccountType | 用於建立數據磁碟或 OS 磁碟的記憶體帳戶類型。 | 'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
身份 | 用於 Batch 集區的身分識別類型。 | BatchPoolIdentity |
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
父母 | 在 Bicep 中,您可以指定子資源的父資源。 只有在父資源外部宣告子資源時,才需要新增這個屬性。 如需詳細資訊,請參閱 父資源外部的子資源。 |
類型資源的符號名稱:batchAccounts |
性能 | 與集區相關聯的屬性。 | PoolProperties |
標籤 | 資源標籤 | 標記名稱和值的字典。 請參閱範本中的 標籤 |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
dynamicVnetAssignmentScope | 動態 vnet 指派的範圍。 | 'job' 'none' |
enableAcceleratedNetworking | 加速網路可讓單一根 I/O 虛擬化(SR-IOV)連線到 VM,這可能會導致改善網路效能。 如需詳細資訊,請參閱:/azure/virtual-network/accelerated-networking-overview。 | bool |
endpointConfiguration | 集區的端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 集區網路設定的公用IP位址組態。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 具有任何相關聯的網路安全組 (NSG),則必須針對輸入通訊啟用一些保留的系統埠,包括埠 29876 和 29877。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 4096。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
sourcePortRanges | 有效值為 『*』 (所有埠 0 - 65535) 或埠或埠範圍的陣列(例如 100-200)。 埠的範圍應介於 0 到 65535 和埠範圍或埠不能重疊。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 預設值為 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
NodePlacementConfiguration
名字 | 描述 | 價值 |
---|---|---|
政策 | Batch 服務用來布建節點的配置原則。 如果未指定,Batch 會使用區域原則。 | '地區' 'Zonal' |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 要針對磁碟啟用的快取類型。 | 'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新的 OS 磁碟時,以 GB 為單位的初始磁碟大小。 | int |
ephemeralOSDiskSettings | 指定虛擬機所用作業系統磁碟的暫時磁碟設定。 | DiffDiskSettings |
managedDisk | ManagedDisk | |
writeAcceleratorEnabled | 指定是否應該在磁碟上啟用或停用 writeAccelerator。 | bool |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 如果 IPAddressProvisioningType 為 NoPublicIPAddresses,則無法指定此專案。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 應用程式套件參考的變更會影響聯結集區的所有新計算節點,但在重新啟動或重新映像之前,不會影響已在集區中的計算節點。 在任何指定的集區上,最多有10個應用程式套件參考。 | ApplicationPackageReference[] |
證書 | 針對 Windows 計算節點,Batch 服務會將憑證安裝至指定的證書存儲和位置。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 警告:這個屬性已被取代,將在 2024 年 2 月之後移除。 請改用 Azure KeyVault 擴充功能。 |
CertificateReference[] |
deploymentConfiguration | 部署組態屬性。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
resourceTags | 要與 Azure Batch 集區相關聯的使用者定義標籤。 指定時,這些標籤會傳播至與集區相關聯的備份 Azure 資源。 只有在使用 poolAllocationMode 屬性設定為 'UserSubscription' 建立 Batch 帳戶時,才能指定這個屬性。 | PoolPropertiesResourceTags |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
targetNodeCommunicationMode | 如果省略,預設值為 Default。 | 'Classic' 'Default' 'Simplified' |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
upgradePolicy | 描述升級原則 - 自動、手動或滾動。 | UpgradePolicy |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需可用 VM 大小的詳細資訊,請參閱虛擬機的大小 (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) 或虛擬機的大小 (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支援除了STANDARD_A0和具有進階記憶體以外的所有 Azure VM 大小(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)。 | 字串 |
PoolPropertiesResourceTags
名字 | 描述 | 價值 |
---|
PublicIPAddressConfiguration
名字 | 描述 | 價值 |
---|---|---|
ipAddressIds | 此處指定的IP數目會限制集區的大小上限 - 100個專用節點或100個現成/低優先順序節點,可以為每個公用IP配置。 例如,需要 250 個專用 VM 的集區至少需要 3 個公用 IP。 此集合的每個元素都是下列形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
準備 | 預設值為 BatchManaged | 'BatchManaged' 'NoPublicIPAddresses' 'UserManaged' |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 | 字串 |
blobPrefix | 只有在使用 autoStorageContainerName 或 storageContainerUrl 時,屬性才有效。 此前置詞可以是部分檔名或子目錄。 如果未指定前置詞,則會下載容器中的所有檔案。 | 字串 |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 如果指定 HTTPUrl 屬性,則需要 filePath,並描述將下載檔案的路徑,包括檔名。 否則,如果指定 autoStorageContainerName 或 storageContainerUrl 屬性,則 filePath 是選擇性的,而且是要下載檔案的目錄。 在 filePath 當做目錄使用的情況下,任何已經與輸入數據相關聯的目錄結構都會完整保留,並附加至指定的 filePath 目錄。 指定的相對路徑無法脫離工作的工作目錄(例如,使用 『..』)。 | 字串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 如果 URL 指向 Azure Blob 記憶體,則必須從計算節點讀取它。 在 Azure 記憶體中取得 Blob 的這類 URL 有三種方式:包括授與 Blob 讀取許可權的共用存取簽章(SAS),使用具有讀取許可權的受控識別,或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須可從計算節點讀取和列出。 有三種方式可以取得 Azure 記憶體中容器的這類 URL:包括授與容器讀取和清單許可權的共用存取簽章(SAS),使用具有讀取和清單許可權的受控識別,或為容器設定 ACL 以允許公用存取。 | 字串 |
RollingUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
enableCrossZoneUpgrade | 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 如果未設定此欄位,Azure Batch 將不會設定其預設值。 在建立的 VirtualMachineScaleSet 上 enableCrossZoneUpgrade 的值將由 VirtualMachineScaleSet 上的預設組態決定。 只有當使用 NodePlacementConfiguration 作為 Zonal 時,此欄位才能設定為 true 或 false。 | bool |
maxBatchInstancePercent | 一個批次中滾動升級同時升級的虛擬機實例總數上限百分比。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyInstancePercent | 擴展集中可同時狀況不良的虛擬機實例總數百分比上限,可能是因為升級而造成狀況不良,或在滾動升級中止之前,在虛擬機健康情況檢查中發現狀況不良狀態。 啟動任何批次之前,會先檢查此條件約束。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可發現處於狀況不良狀態的已升級虛擬機實例百分比上限。 升級每個批次之後,就會進行這項檢查。 如果超過這個百分比,滾動更新就會中止。 此欄位的值應介於 0 到 100 之間,並包含。 | int 約束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一個批次中所有虛擬機的更新,以及開始下一個批次之間的等候時間。 持續時間應以 ISO 8601 格式指定。 | 字串 |
prioritizeUnhealthyInstances | 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果違反滾動升級原則,回復實例至先前的模型。 | bool |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
SecurityProfile
名字 | 描述 | 價值 |
---|---|---|
encryptionAtHost | 用戶可以在要求中使用這個屬性來啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 | bool |
securityType | 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 | 'confidentialVM' 'trustedLaunch' |
uefiSettings | 指定建立虛擬機時所使用的安全開機和 vTPM 等安全性設定。 | UefiSettings |
ServiceArtifactReference
名字 | 描述 | 價值 |
---|---|---|
id | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | 字串 (必要) |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
containerSettings | 指定此專案時,AZ_BATCH_NODE_ROOT_DIR下方的所有目錄都會遞歸地對應至容器(節點上的 Azure Batch 目錄根目錄),所有工作環境變數都會對應至容器,並在容器中執行工作命令行。 | TaskContainerSettings |
environmentSettings | 啟動工作的環境變數設定清單。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作。 預設值為 0 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerHostBatchBindMounts | 如果此陣列為 Null 或不存在,容器工作將會在 Windows 中掛接整個暫存磁碟驅動器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此陣列設定為空白,它就不會將任何數據路徑掛接至容器。 | ContainerHostBatchBindMountEntry[] |
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UefiSettings
名字 | 描述 | 價值 |
---|---|---|
secureBootEnabled | 指定是否應在虛擬機上啟用安全開機。 | bool |
vTpmEnabled | 指定是否應在虛擬機上啟用 vTPM。 | bool |
UpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
automaticOSUpgradePolicy | 用於執行自動OS升級的組態參數。 | AutomaticOSUpgradePolicy |
模式 | 指定升級至擴展集中虛擬機的模式。 可能的值為: 手動 - 您可以控制擴充集中虛擬機的更新應用程式。 您可以使用 manualUpgrade 動作來執行此動作。 自動 - 擴展集中的所有虛擬機都會同時自動更新。 滾動 - 擴展集會在兩者之間執行選擇性暫停時間的批次更新。 |
'automatic' 'manual' '滾動' (必要) |
rollingUpgradePolicy | 執行滾動升級時所使用的組態參數。 | RollingUpgradePolicy |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 名稱可以包含最多 20 個字元的任何 Unicode 字元。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserAssignedIdentities
名字 | 描述 | 價值 |
---|
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
擴展 | 如果指定,此組態中提及的擴充功能將會安裝在每個節點上。 | VMExtension[] |
imageReference | Azure 虛擬機 Marketplace 映像或自定義虛擬機的 Azure 映像資源的參考。 若要取得 Azure Batch 驗證的所有 imageReferences 清單,請參閱「列出支援的節點代理程式 SKU」作業。 | ImageReference (必要) |
licenseType | 這隻適用於包含 Windows 作業系統的映像,而且只有在您保留將部署之節點的有效內部部署授權時,才應該使用。 如果省略,則不會套用任何內部部署授權折扣。 值為: Windows_Server - 內部部署授權適用於 Windows Server。 Windows_Client - 內部部署授權適用於 Windows 用戶端。 |
字串 |
nodeAgentSkuId | Batch 節點代理程式是在集區中的每個節點上執行的程式,並提供節點與 Batch 服務之間的命令和控制介面。 針對不同的操作系統,節點代理程式有不同的實作,稱為 SKU。 您必須指定符合所選映像參考的節點代理程式 SKU。 若要取得支持的節點代理程式 SKU 清單及其已驗證映像參考清單,請參閱「列出支援的節點代理程式 SKU」作業。 | 字串 (必要) |
nodePlacementConfiguration | 此設定會指定集區中節點實際配置方式的規則。 | NodePlacementConfiguration |
osDisk | 包含暫時OSDisk設定的組態。 | OSDisk |
securityProfile | 指定虛擬機或虛擬機擴展集的安全性配置檔設定。 | SecurityProfile |
serviceArtifactReference | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | ServiceArtifactReference |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
VMDiskSecurityProfile
名字 | 描述 | 價值 |
---|---|---|
securityEncryptionType | 指定受控磁碟的 EncryptionType。 它設定為 VMGuestStateOnly,以便只加密 VMGuestState Blob,而 NonPersistedTPM 則不會保存 VMGuestState Blob 中的韌體狀態。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | 'NonPersistedTPM' 'VMGuestStateOnly' |
VMExtension
名字 | 描述 | 價值 |
---|---|---|
autoUpgradeMinorVersion | 指出如果部署期間有新的次要版本,擴充功能是否應該使用較新的次要版本。 不過,部署之後,除非重新部署,否則擴充功能不會升級次要版本,即使此屬性設定為 true 也一定會升級。 | bool |
enableAutomaticUpgrade | 指出如果有較新版本的延伸模組可用,平臺是否應該自動升級延伸模組。 | bool |
名字 | 虛擬機擴充功能的名稱。 | 字串 (必要) |
protectedSettings | 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault 或完全沒有受保護的設定。 | 任何 |
provisionAfterExtensions | 必須布建此延伸模組之後的延伸模組名稱集合。 | string[] |
發行人 | 擴充處理程序發行者的名稱。 | 字串 (必要) |
設置 | 擴充功能的 JSON 格式化公用設定。 | 任何 |
類型 | 延伸模組的類型。 | 字串 (必要) |
typeHandlerVersion | 腳本處理程式的版本。 | 字串 |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 預設值為 Interactive。 | 'Batch' 'Interactive' |
快速入門範例
下列快速入門範例會部署此資源類型。
Bicep 檔案 | 描述 |
---|---|
沒有公用IP位址的 Azure Batch 集區 | 此範本會建立 Azure Batch 簡化的節點通訊集區,而不需要公用 IP 位址。 |
ARM 樣本資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 JSON 新增至範本。
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2024-07-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"containerConfiguration": {
"containerImageNames": [ "string" ],
"containerRegistries": [
{
"identityReference": {
"resourceId": "string"
},
"password": "string",
"registryServer": "string",
"username": "string"
}
],
"type": "string"
},
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"diskEncryptionConfiguration": {
"targets": [ "string" ]
},
"extensions": [
{
"autoUpgradeMinorVersion": "bool",
"enableAutomaticUpgrade": "bool",
"name": "string",
"protectedSettings": {},
"provisionAfterExtensions": [ "string" ],
"publisher": "string",
"settings": {},
"type": "string",
"typeHandlerVersion": "string"
}
],
"imageReference": {
"communityGalleryImageId": "string",
"id": "string",
"offer": "string",
"publisher": "string",
"sharedGalleryImageId": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"nodePlacementConfiguration": {
"policy": "string"
},
"osDisk": {
"caching": "string",
"diskSizeGB": "int",
"ephemeralOSDiskSettings": {
"placement": "CacheDisk"
},
"managedDisk": {
"securityProfile": {
"securityEncryptionType": "string"
},
"storageAccountType": "string"
},
"writeAcceleratorEnabled": "bool"
},
"securityProfile": {
"encryptionAtHost": "bool",
"securityType": "string",
"uefiSettings": {
"secureBootEnabled": "bool",
"vTpmEnabled": "bool"
}
},
"serviceArtifactReference": {
"id": "string"
},
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"mountConfiguration": [
{
"azureBlobFileSystemConfiguration": {
"accountKey": "string",
"accountName": "string",
"blobfuseOptions": "string",
"containerName": "string",
"identityReference": {
"resourceId": "string"
},
"relativeMountPath": "string",
"sasKey": "string"
},
"azureFileShareConfiguration": {
"accountKey": "string",
"accountName": "string",
"azureFileUrl": "string",
"mountOptions": "string",
"relativeMountPath": "string"
},
"cifsMountConfiguration": {
"mountOptions": "string",
"password": "string",
"relativeMountPath": "string",
"source": "string",
"userName": "string"
},
"nfsMountConfiguration": {
"mountOptions": "string",
"relativeMountPath": "string",
"source": "string"
}
}
],
"networkConfiguration": {
"dynamicVnetAssignmentScope": "string",
"enableAcceleratedNetworking": "bool",
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": "int",
"frontendPortRangeEnd": "int",
"frontendPortRangeStart": "int",
"name": "string",
"networkSecurityGroupRules": [
{
"access": "string",
"priority": "int",
"sourceAddressPrefix": "string",
"sourcePortRanges": [ "string" ]
}
],
"protocol": "string"
}
]
},
"publicIPAddressConfiguration": {
"ipAddressIds": [ "string" ],
"provision": "string"
},
"subnetId": "string"
},
"resourceTags": {
"{customized property}": "string"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"containerSettings": {
"containerHostBatchBindMounts": [
{
"isReadOnly": "bool",
"source": "string"
}
],
"containerRunOptions": "string",
"imageName": "string",
"registry": {
"identityReference": {
"resourceId": "string"
},
"password": "string",
"registryServer": "string",
"username": "string"
},
"workingDirectory": "string"
},
"environmentSettings": [
{
"name": "string",
"value": "string"
}
],
"maxTaskRetryCount": "int",
"resourceFiles": [
{
"autoStorageContainerName": "string",
"blobPrefix": "string",
"fileMode": "string",
"filePath": "string",
"httpUrl": "string",
"identityReference": {
"resourceId": "string"
},
"storageContainerUrl": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"targetNodeCommunicationMode": "string",
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"taskSlotsPerNode": "int",
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"disableAutomaticRollback": "bool",
"enableAutomaticOSUpgrade": "bool",
"osRollingUpgradeDeferral": "bool",
"useRollingUpgradePolicy": "bool"
},
"mode": "string",
"rollingUpgradePolicy": {
"enableCrossZoneUpgrade": "bool",
"maxBatchInstancePercent": "int",
"maxUnhealthyInstancePercent": "int",
"maxUnhealthyUpgradedInstancePercent": "int",
"pauseTimeBetweenBatches": "string",
"prioritizeUnhealthyInstances": "bool",
"rollbackFailedInstancesOnPolicyBreach": "bool"
}
},
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string",
"windowsUserConfiguration": {
"loginMode": "string"
}
}
],
"vmSize": "string"
},
"tags": {
"{customized property}": "string"
}
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutomaticOSUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
disableAutomaticRollback | 是否應停用OS映像復原功能。 | bool |
enableAutomaticOSUpgrade | 指出當較新版本的OS映像可用時,是否應該以滾動方式自動套用作業系統升級至擴展集實例。 如果 Windows 集區設為 true,WindowsConfiguration.enableAutomaticUpdates 無法設定為 true。 |
bool |
osRollingUpgradeDeferral | 如果 OS 正在執行工作,請延遲 TVM 上的 OS 升級。 | bool |
useRollingUpgradePolicy | 指出是否應在自動OS升級期間使用滾動升級原則。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 | bool |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | 預設值為 Pool。 如果集區正在執行 Windows,則當需要更嚴格的工作隔離時,應該指定 Task 的值。 例如,如果工作以可能會影響其他工作的方式變動登錄,或已在集區上指定憑證,而該集區上不應該由一般工作存取,但應該可透過啟動工作存取。 | 'Pool' 'Task' |
AzureBlobFileSystemConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | 此屬性與 sasKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
blobfuseOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
containerName | Azure Blob 記憶體容器名稱。 | 字串 (必要) |
identityReference | 此屬性與 accountKey 和 sasKey 互斥;必須只指定一個。 | ComputeNodeIdentityReference |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
sasKey | 此屬性與 accountKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
AzureFileShareConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | Azure 記憶體帳戶金鑰。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
azureFileUrl | 這是格式為 『https://{account}.file.core.windows.net/』。 | 字串 (必要) |
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
AzureProxyResourceTags
名字 | 描述 | 價值 |
---|
BatchPoolIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於 Batch 集區的身分識別類型。 | 'None' 'UserAssigned' (必要) |
userAssignedIdentities | 與 Batch 集區相關聯的使用者身分識別清單。 | BatchPoolIdentityUserAssignedIdentities |
BatchPoolIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 計算節點設定的集區。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 計算節點設定的集區。 常見的存放區名稱包括:My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定義存放區名稱。 預設值為 My。 | 字串 |
能見度 | 計算節點上的哪些用戶帳戶應該可以存取憑證的私用數據。 | 包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CifsMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
密碼 | 要用於驗證 CIFS 檔案系統的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
userName | 要用於對 CIFS 檔案系統進行驗證的使用者。 | 字串 (必要) |
ComputeNodeIdentityReference
名字 | 描述 | 價值 |
---|---|---|
resourceId | 使用者指派身分識別的 ARM 資源識別碼。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'CriCompatible' 'DockerCompatible' (必要) |
ContainerHostBatchBindMountEntry
名字 | 描述 | 價值 |
---|---|---|
isReadOnly | 針對 Linux,如果您將此路徑掛接為讀取/寫入模式,這並不表示容器中的所有使用者都有路徑的讀取/寫入存取權,這取決於主機 VM 中的存取權。 如果此路徑是只讀掛接,容器內的所有使用者將無法修改路徑。 | bool |
源 | 要掛接至容器工作容器的路徑。 | 'Applications' 'JobPrep' 'Shared' 'Startup' 'Task' 'VfsMounts' |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
密碼 | 登入登錄伺服器的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
registryServer | 如果省略,預設值為 「docker.io」。。 | 字串 |
username | 要登入登錄伺服器的用戶名稱。 | 字串 |
DataDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 值為: none - 未啟用磁碟的快取模式。 readOnly - 磁碟的快取模式是只讀的。 readWrite - 磁碟的快取模式是讀取和寫入。 快取的預設值為 none。 如需快取選項的相關信息,請參閱:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 |
'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新數據磁碟時,以 GB 為單位的初始磁碟大小。 | int (必要) |
倫 | lun 可用來唯一識別每個數據磁碟。 如果連結多個磁碟,則每個磁碟都應該有相異的 Lun。 值必須介於 0 到 63 之間,且包含 。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
virtualMachineConfiguration | 以 Azure 虛擬機器基礎結構為基礎的集區中計算節點的組態。 | VirtualMachineConfiguration |
DiffDiskSettings
名字 | 描述 | 價值 |
---|---|---|
放置 | 用戶可以在要求中使用這個屬性來選擇操作系統應該位於哪個位置。例如,暫時 OS 磁碟布建的快取磁碟空間。 如需暫時 OS 磁碟大小需求的詳細資訊,請參閱 /azure/virtual-machines/windows/ephemeral-os-disks#size-requirements 和 /azure/virtual-machines/linux/ephemeral-os-disks#size-requirements 和 Linux VM 的暫時 OS 磁盘大小需求。 | 'CacheDisk' |
DiskEncryptionConfiguration
名字 | 描述 | 價值 |
---|---|---|
目標 | 在 Linux 集區上,僅支援 「TemporaryDisk」 ;在 Windows 集區上,必須指定 「OsDisk」 和 「TemporaryDisk」。。 | 包含任何的字串數組: 'OsDisk' 'TemporaryDisk' |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
communityGalleryImageId | 這個屬性與其他屬性互斥,而且可以從社群資源庫映像 GET 呼叫擷取。 | 字串 |
id | 這個屬性與其他屬性互斥。 Azure 計算資源庫映像必須具有與 Azure Batch 帳戶相同的區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sharedGalleryImageId | 這個屬性與其他屬性互斥,而且可以從共用資源庫映像 GET 呼叫擷取。 | 字串 |
sku | 例如,18.04-LTS 或 2022-datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,但 29876 和 29877 除外,因為這些值是保留的。 如果提供任何保留值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeEnd | 可接受的值範圍介於 1 到 65534 之間,但 Batch 服務保留的埠從 50000 到 55000。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeStart | 可接受的值範圍介於 1 到 65534 之間,但保留的埠介於 50000 到 55000 之間。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
名字 | 名稱在 Batch 集區內必須是唯一的,可以包含字母、數位、底線、句號和連字元。 名稱必須以字母或數字開頭,結尾必須是字母、數位或底線,且不能超過 77 個字元。 如果提供任何無效的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | 字串 (必要) |
networkSecurityGroupRules | 可以跨 Batch 集區上所有端點指定的規則數目上限為 25。 如果未指定網路安全組規則,則會建立默認規則以允許輸入存取指定的 backendPort。 如果超過網路安全組規則的最大數目,要求會失敗,並出現 HTTP 狀態代碼 400。 | NetworkSecurityGroupRule[] |
協定 | 端點的通訊協定。 | 'TCP' 'UDP' (必要) |
LinuxUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
gid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定,則基礎操作系統會挑選 gid。 | int |
sshPrivateKey | 私鑰不得受到密碼保護。 當集區的 enableInterNodeCommunication 屬性為 true 時,私鑰用於在 Linux 集區中的節點之間自動設定非對稱密鑰型驗證(如果 enableInterNodeCommunication 為 false,則會忽略它)。 其方式是將金鑰組放入使用者的 .ssh 目錄中。 如果未指定,則不會在節點之間設定無密碼 SSH(不會修改使用者的 .ssh 目錄)。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
uid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定基礎操作系統,則會挑選 uid。 | int |
ManagedDisk
名字 | 描述 | 價值 |
---|---|---|
securityProfile | 指定受控磁碟的安全性配置檔設定。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | VMDiskSecurityProfile |
storageAccountType | 用於建立數據磁碟或 OS 磁碟的記憶體帳戶類型。 | 'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
apiVersion | API 版本 | '2024-07-01' |
身份 | 用於 Batch 集區的身分識別類型。 | BatchPoolIdentity |
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
性能 | 與集區相關聯的屬性。 | PoolProperties |
標籤 | 資源標籤 | 標記名稱和值的字典。 請參閱範本中的 標籤 |
類型 | 資源類型 | 'Microsoft.Batch/batchAccounts/pools' |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
dynamicVnetAssignmentScope | 動態 vnet 指派的範圍。 | 'job' 'none' |
enableAcceleratedNetworking | 加速網路可讓單一根 I/O 虛擬化(SR-IOV)連線到 VM,這可能會導致改善網路效能。 如需詳細資訊,請參閱:/azure/virtual-network/accelerated-networking-overview。 | bool |
endpointConfiguration | 集區的端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 集區網路設定的公用IP位址組態。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 具有任何相關聯的網路安全組 (NSG),則必須針對輸入通訊啟用一些保留的系統埠,包括埠 29876 和 29877。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 4096。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
sourcePortRanges | 有效值為 『*』 (所有埠 0 - 65535) 或埠或埠範圍的陣列(例如 100-200)。 埠的範圍應介於 0 到 65535 和埠範圍或埠不能重疊。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 預設值為 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
NodePlacementConfiguration
名字 | 描述 | 價值 |
---|---|---|
政策 | Batch 服務用來布建節點的配置原則。 如果未指定,Batch 會使用區域原則。 | '地區' 'Zonal' |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 要針對磁碟啟用的快取類型。 | 'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新的 OS 磁碟時,以 GB 為單位的初始磁碟大小。 | int |
ephemeralOSDiskSettings | 指定虛擬機所用作業系統磁碟的暫時磁碟設定。 | DiffDiskSettings |
managedDisk | ManagedDisk | |
writeAcceleratorEnabled | 指定是否應該在磁碟上啟用或停用 writeAccelerator。 | bool |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 如果 IPAddressProvisioningType 為 NoPublicIPAddresses,則無法指定此專案。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 應用程式套件參考的變更會影響聯結集區的所有新計算節點,但在重新啟動或重新映像之前,不會影響已在集區中的計算節點。 在任何指定的集區上,最多有10個應用程式套件參考。 | ApplicationPackageReference[] |
證書 | 針對 Windows 計算節點,Batch 服務會將憑證安裝至指定的證書存儲和位置。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 警告:這個屬性已被取代,將在 2024 年 2 月之後移除。 請改用 Azure KeyVault 擴充功能。 |
CertificateReference[] |
deploymentConfiguration | 部署組態屬性。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
resourceTags | 要與 Azure Batch 集區相關聯的使用者定義標籤。 指定時,這些標籤會傳播至與集區相關聯的備份 Azure 資源。 只有在使用 poolAllocationMode 屬性設定為 'UserSubscription' 建立 Batch 帳戶時,才能指定這個屬性。 | PoolPropertiesResourceTags |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
targetNodeCommunicationMode | 如果省略,預設值為 Default。 | 'Classic' 'Default' 'Simplified' |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
upgradePolicy | 描述升級原則 - 自動、手動或滾動。 | UpgradePolicy |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需可用 VM 大小的詳細資訊,請參閱虛擬機的大小 (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) 或虛擬機的大小 (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支援除了STANDARD_A0和具有進階記憶體以外的所有 Azure VM 大小(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)。 | 字串 |
PoolPropertiesResourceTags
名字 | 描述 | 價值 |
---|
PublicIPAddressConfiguration
名字 | 描述 | 價值 |
---|---|---|
ipAddressIds | 此處指定的IP數目會限制集區的大小上限 - 100個專用節點或100個現成/低優先順序節點,可以為每個公用IP配置。 例如,需要 250 個專用 VM 的集區至少需要 3 個公用 IP。 此集合的每個元素都是下列形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
準備 | 預設值為 BatchManaged | 'BatchManaged' 'NoPublicIPAddresses' 'UserManaged' |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 | 字串 |
blobPrefix | 只有在使用 autoStorageContainerName 或 storageContainerUrl 時,屬性才有效。 此前置詞可以是部分檔名或子目錄。 如果未指定前置詞,則會下載容器中的所有檔案。 | 字串 |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 如果指定 HTTPUrl 屬性,則需要 filePath,並描述將下載檔案的路徑,包括檔名。 否則,如果指定 autoStorageContainerName 或 storageContainerUrl 屬性,則 filePath 是選擇性的,而且是要下載檔案的目錄。 在 filePath 當做目錄使用的情況下,任何已經與輸入數據相關聯的目錄結構都會完整保留,並附加至指定的 filePath 目錄。 指定的相對路徑無法脫離工作的工作目錄(例如,使用 『..』)。 | 字串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 如果 URL 指向 Azure Blob 記憶體,則必須從計算節點讀取它。 在 Azure 記憶體中取得 Blob 的這類 URL 有三種方式:包括授與 Blob 讀取許可權的共用存取簽章(SAS),使用具有讀取許可權的受控識別,或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須可從計算節點讀取和列出。 有三種方式可以取得 Azure 記憶體中容器的這類 URL:包括授與容器讀取和清單許可權的共用存取簽章(SAS),使用具有讀取和清單許可權的受控識別,或為容器設定 ACL 以允許公用存取。 | 字串 |
RollingUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
enableCrossZoneUpgrade | 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 如果未設定此欄位,Azure Batch 將不會設定其預設值。 在建立的 VirtualMachineScaleSet 上 enableCrossZoneUpgrade 的值將由 VirtualMachineScaleSet 上的預設組態決定。 只有當使用 NodePlacementConfiguration 作為 Zonal 時,此欄位才能設定為 true 或 false。 | bool |
maxBatchInstancePercent | 一個批次中滾動升級同時升級的虛擬機實例總數上限百分比。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyInstancePercent | 擴展集中可同時狀況不良的虛擬機實例總數百分比上限,可能是因為升級而造成狀況不良,或在滾動升級中止之前,在虛擬機健康情況檢查中發現狀況不良狀態。 啟動任何批次之前,會先檢查此條件約束。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可發現處於狀況不良狀態的已升級虛擬機實例百分比上限。 升級每個批次之後,就會進行這項檢查。 如果超過這個百分比,滾動更新就會中止。 此欄位的值應介於 0 到 100 之間,並包含。 | int 約束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一個批次中所有虛擬機的更新,以及開始下一個批次之間的等候時間。 持續時間應以 ISO 8601 格式指定。 | 字串 |
prioritizeUnhealthyInstances | 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果違反滾動升級原則,回復實例至先前的模型。 | bool |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
SecurityProfile
名字 | 描述 | 價值 |
---|---|---|
encryptionAtHost | 用戶可以在要求中使用這個屬性來啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 | bool |
securityType | 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 | 'confidentialVM' 'trustedLaunch' |
uefiSettings | 指定建立虛擬機時所使用的安全開機和 vTPM 等安全性設定。 | UefiSettings |
ServiceArtifactReference
名字 | 描述 | 價值 |
---|---|---|
id | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | 字串 (必要) |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
containerSettings | 指定此專案時,AZ_BATCH_NODE_ROOT_DIR下方的所有目錄都會遞歸地對應至容器(節點上的 Azure Batch 目錄根目錄),所有工作環境變數都會對應至容器,並在容器中執行工作命令行。 | TaskContainerSettings |
environmentSettings | 啟動工作的環境變數設定清單。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作。 預設值為 0 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerHostBatchBindMounts | 如果此陣列為 Null 或不存在,容器工作將會在 Windows 中掛接整個暫存磁碟驅動器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此陣列設定為空白,它就不會將任何數據路徑掛接至容器。 | ContainerHostBatchBindMountEntry[] |
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UefiSettings
名字 | 描述 | 價值 |
---|---|---|
secureBootEnabled | 指定是否應在虛擬機上啟用安全開機。 | bool |
vTpmEnabled | 指定是否應在虛擬機上啟用 vTPM。 | bool |
UpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
automaticOSUpgradePolicy | 用於執行自動OS升級的組態參數。 | AutomaticOSUpgradePolicy |
模式 | 指定升級至擴展集中虛擬機的模式。 可能的值為: 手動 - 您可以控制擴充集中虛擬機的更新應用程式。 您可以使用 manualUpgrade 動作來執行此動作。 自動 - 擴展集中的所有虛擬機都會同時自動更新。 滾動 - 擴展集會在兩者之間執行選擇性暫停時間的批次更新。 |
'automatic' 'manual' '滾動' (必要) |
rollingUpgradePolicy | 執行滾動升級時所使用的組態參數。 | RollingUpgradePolicy |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 名稱可以包含最多 20 個字元的任何 Unicode 字元。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserAssignedIdentities
名字 | 描述 | 價值 |
---|
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
擴展 | 如果指定,此組態中提及的擴充功能將會安裝在每個節點上。 | VMExtension[] |
imageReference | Azure 虛擬機 Marketplace 映像或自定義虛擬機的 Azure 映像資源的參考。 若要取得 Azure Batch 驗證的所有 imageReferences 清單,請參閱「列出支援的節點代理程式 SKU」作業。 | ImageReference (必要) |
licenseType | 這隻適用於包含 Windows 作業系統的映像,而且只有在您保留將部署之節點的有效內部部署授權時,才應該使用。 如果省略,則不會套用任何內部部署授權折扣。 值為: Windows_Server - 內部部署授權適用於 Windows Server。 Windows_Client - 內部部署授權適用於 Windows 用戶端。 |
字串 |
nodeAgentSkuId | Batch 節點代理程式是在集區中的每個節點上執行的程式,並提供節點與 Batch 服務之間的命令和控制介面。 針對不同的操作系統,節點代理程式有不同的實作,稱為 SKU。 您必須指定符合所選映像參考的節點代理程式 SKU。 若要取得支持的節點代理程式 SKU 清單及其已驗證映像參考清單,請參閱「列出支援的節點代理程式 SKU」作業。 | 字串 (必要) |
nodePlacementConfiguration | 此設定會指定集區中節點實際配置方式的規則。 | NodePlacementConfiguration |
osDisk | 包含暫時OSDisk設定的組態。 | OSDisk |
securityProfile | 指定虛擬機或虛擬機擴展集的安全性配置檔設定。 | SecurityProfile |
serviceArtifactReference | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | ServiceArtifactReference |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
VMDiskSecurityProfile
名字 | 描述 | 價值 |
---|---|---|
securityEncryptionType | 指定受控磁碟的 EncryptionType。 它設定為 VMGuestStateOnly,以便只加密 VMGuestState Blob,而 NonPersistedTPM 則不會保存 VMGuestState Blob 中的韌體狀態。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | 'NonPersistedTPM' 'VMGuestStateOnly' |
VMExtension
名字 | 描述 | 價值 |
---|---|---|
autoUpgradeMinorVersion | 指出如果部署期間有新的次要版本,擴充功能是否應該使用較新的次要版本。 不過,部署之後,除非重新部署,否則擴充功能不會升級次要版本,即使此屬性設定為 true 也一定會升級。 | bool |
enableAutomaticUpgrade | 指出如果有較新版本的延伸模組可用,平臺是否應該自動升級延伸模組。 | bool |
名字 | 虛擬機擴充功能的名稱。 | 字串 (必要) |
protectedSettings | 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault 或完全沒有受保護的設定。 | 任何 |
provisionAfterExtensions | 必須布建此延伸模組之後的延伸模組名稱集合。 | string[] |
發行人 | 擴充處理程序發行者的名稱。 | 字串 (必要) |
設置 | 擴充功能的 JSON 格式化公用設定。 | 任何 |
類型 | 延伸模組的類型。 | 字串 (必要) |
typeHandlerVersion | 腳本處理程式的版本。 | 字串 |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 預設值為 Interactive。 | 'Batch' 'Interactive' |
快速入門範本
下列快速入門範本會部署此資源類型。
範本 | 描述 |
---|---|
沒有公用IP位址的 Azure Batch 集區 |
此範本會建立 Azure Batch 簡化的節點通訊集區,而不需要公用 IP 位址。 |
Terraform (AzAPI 提供者) 資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 Terraform 新增至範本。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Batch/batchAccounts/pools@2024-07-01"
name = "string"
identity = {
type = "string"
userAssignedIdentities = {
{customized property} = {
}
}
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
applicationLicenses = [
"string"
]
applicationPackages = [
{
id = "string"
version = "string"
}
]
certificates = [
{
id = "string"
storeLocation = "string"
storeName = "string"
visibility = [
"string"
]
}
]
deploymentConfiguration = {
virtualMachineConfiguration = {
containerConfiguration = {
containerImageNames = [
"string"
]
containerRegistries = [
{
identityReference = {
resourceId = "string"
}
password = "string"
registryServer = "string"
username = "string"
}
]
type = "string"
}
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
diskEncryptionConfiguration = {
targets = [
"string"
]
}
extensions = [
{
autoUpgradeMinorVersion = bool
enableAutomaticUpgrade = bool
name = "string"
protectedSettings = ?
provisionAfterExtensions = [
"string"
]
publisher = "string"
settings = ?
type = "string"
typeHandlerVersion = "string"
}
]
imageReference = {
communityGalleryImageId = "string"
id = "string"
offer = "string"
publisher = "string"
sharedGalleryImageId = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
nodePlacementConfiguration = {
policy = "string"
}
osDisk = {
caching = "string"
diskSizeGB = int
ephemeralOSDiskSettings = {
placement = "CacheDisk"
}
managedDisk = {
securityProfile = {
securityEncryptionType = "string"
}
storageAccountType = "string"
}
writeAcceleratorEnabled = bool
}
securityProfile = {
encryptionAtHost = bool
securityType = "string"
uefiSettings = {
secureBootEnabled = bool
vTpmEnabled = bool
}
}
serviceArtifactReference = {
id = "string"
}
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
metadata = [
{
name = "string"
value = "string"
}
]
mountConfiguration = [
{
azureBlobFileSystemConfiguration = {
accountKey = "string"
accountName = "string"
blobfuseOptions = "string"
containerName = "string"
identityReference = {
resourceId = "string"
}
relativeMountPath = "string"
sasKey = "string"
}
azureFileShareConfiguration = {
accountKey = "string"
accountName = "string"
azureFileUrl = "string"
mountOptions = "string"
relativeMountPath = "string"
}
cifsMountConfiguration = {
mountOptions = "string"
password = "string"
relativeMountPath = "string"
source = "string"
userName = "string"
}
nfsMountConfiguration = {
mountOptions = "string"
relativeMountPath = "string"
source = "string"
}
}
]
networkConfiguration = {
dynamicVnetAssignmentScope = "string"
enableAcceleratedNetworking = bool
endpointConfiguration = {
inboundNatPools = [
{
backendPort = int
frontendPortRangeEnd = int
frontendPortRangeStart = int
name = "string"
networkSecurityGroupRules = [
{
access = "string"
priority = int
sourceAddressPrefix = "string"
sourcePortRanges = [
"string"
]
}
]
protocol = "string"
}
]
}
publicIPAddressConfiguration = {
ipAddressIds = [
"string"
]
provision = "string"
}
subnetId = "string"
}
resourceTags = {
{customized property} = "string"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
containerSettings = {
containerHostBatchBindMounts = [
{
isReadOnly = bool
source = "string"
}
]
containerRunOptions = "string"
imageName = "string"
registry = {
identityReference = {
resourceId = "string"
}
password = "string"
registryServer = "string"
username = "string"
}
workingDirectory = "string"
}
environmentSettings = [
{
name = "string"
value = "string"
}
]
maxTaskRetryCount = int
resourceFiles = [
{
autoStorageContainerName = "string"
blobPrefix = "string"
fileMode = "string"
filePath = "string"
httpUrl = "string"
identityReference = {
resourceId = "string"
}
storageContainerUrl = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
targetNodeCommunicationMode = "string"
taskSchedulingPolicy = {
nodeFillType = "string"
}
taskSlotsPerNode = int
upgradePolicy = {
automaticOSUpgradePolicy = {
disableAutomaticRollback = bool
enableAutomaticOSUpgrade = bool
osRollingUpgradeDeferral = bool
useRollingUpgradePolicy = bool
}
mode = "string"
rollingUpgradePolicy = {
enableCrossZoneUpgrade = bool
maxBatchInstancePercent = int
maxUnhealthyInstancePercent = int
maxUnhealthyUpgradedInstancePercent = int
pauseTimeBetweenBatches = "string"
prioritizeUnhealthyInstances = bool
rollbackFailedInstancesOnPolicyBreach = bool
}
}
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
windowsUserConfiguration = {
loginMode = "string"
}
}
]
vmSize = "string"
}
})
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutomaticOSUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
disableAutomaticRollback | 是否應停用OS映像復原功能。 | bool |
enableAutomaticOSUpgrade | 指出當較新版本的OS映像可用時,是否應該以滾動方式自動套用作業系統升級至擴展集實例。 如果 Windows 集區設為 true,WindowsConfiguration.enableAutomaticUpdates 無法設定為 true。 |
bool |
osRollingUpgradeDeferral | 如果 OS 正在執行工作,請延遲 TVM 上的 OS 升級。 | bool |
useRollingUpgradePolicy | 指出是否應在自動OS升級期間使用滾動升級原則。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 | bool |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | 預設值為 Pool。 如果集區正在執行 Windows,則當需要更嚴格的工作隔離時,應該指定 Task 的值。 例如,如果工作以可能會影響其他工作的方式變動登錄,或已在集區上指定憑證,而該集區上不應該由一般工作存取,但應該可透過啟動工作存取。 | 'Pool' 'Task' |
AzureBlobFileSystemConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | 此屬性與 sasKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
blobfuseOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
containerName | Azure Blob 記憶體容器名稱。 | 字串 (必要) |
identityReference | 此屬性與 accountKey 和 sasKey 互斥;必須只指定一個。 | ComputeNodeIdentityReference |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
sasKey | 此屬性與 accountKey 和身分識別互斥;必須只指定一個。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
AzureFileShareConfiguration
名字 | 描述 | 價值 |
---|---|---|
accountKey | Azure 記憶體帳戶金鑰。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
accountName | Azure 記憶體帳戶名稱。 | 字串 (必要) |
azureFileUrl | 這是格式為 『https://{account}.file.core.windows.net/』。 | 字串 (必要) |
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
AzureProxyResourceTags
名字 | 描述 | 價值 |
---|
BatchPoolIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於 Batch 集區的身分識別類型。 | 'None' 'UserAssigned' (必要) |
userAssignedIdentities | 與 Batch 集區相關聯的使用者身分識別清單。 | BatchPoolIdentityUserAssignedIdentities |
BatchPoolIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 計算節點設定的集區。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 計算節點設定的集區。 常見的存放區名稱包括:My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook,但也可以使用任何自定義存放區名稱。 預設值為 My。 | 字串 |
能見度 | 計算節點上的哪些用戶帳戶應該可以存取憑證的私用數據。 | 包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CifsMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
密碼 | 要用於驗證 CIFS 檔案系統的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
userName | 要用於對 CIFS 檔案系統進行驗證的使用者。 | 字串 (必要) |
ComputeNodeIdentityReference
名字 | 描述 | 價值 |
---|---|---|
resourceId | 使用者指派身分識別的 ARM 資源識別碼。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'CriCompatible' 'DockerCompatible' (必要) |
ContainerHostBatchBindMountEntry
名字 | 描述 | 價值 |
---|---|---|
isReadOnly | 針對 Linux,如果您將此路徑掛接為讀取/寫入模式,這並不表示容器中的所有使用者都有路徑的讀取/寫入存取權,這取決於主機 VM 中的存取權。 如果此路徑是只讀掛接,容器內的所有使用者將無法修改路徑。 | bool |
源 | 要掛接至容器工作容器的路徑。 | 'Applications' 'JobPrep' 'Shared' 'Startup' 'Task' 'VfsMounts' |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
密碼 | 登入登錄伺服器的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
registryServer | 如果省略,預設值為 「docker.io」。。 | 字串 |
username | 要登入登錄伺服器的用戶名稱。 | 字串 |
DataDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 值為: none - 未啟用磁碟的快取模式。 readOnly - 磁碟的快取模式是只讀的。 readWrite - 磁碟的快取模式是讀取和寫入。 快取的預設值為 none。 如需快取選項的相關信息,請參閱:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 |
'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新數據磁碟時,以 GB 為單位的初始磁碟大小。 | int (必要) |
倫 | lun 可用來唯一識別每個數據磁碟。 如果連結多個磁碟,則每個磁碟都應該有相異的 Lun。 值必須介於 0 到 63 之間,且包含 。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
virtualMachineConfiguration | 以 Azure 虛擬機器基礎結構為基礎的集區中計算節點的組態。 | VirtualMachineConfiguration |
DiffDiskSettings
名字 | 描述 | 價值 |
---|---|---|
放置 | 用戶可以在要求中使用這個屬性來選擇操作系統應該位於哪個位置。例如,暫時 OS 磁碟布建的快取磁碟空間。 如需暫時 OS 磁碟大小需求的詳細資訊,請參閱 /azure/virtual-machines/windows/ephemeral-os-disks#size-requirements 和 /azure/virtual-machines/linux/ephemeral-os-disks#size-requirements 和 Linux VM 的暫時 OS 磁盘大小需求。 | 'CacheDisk' |
DiskEncryptionConfiguration
名字 | 描述 | 價值 |
---|---|---|
目標 | 在 Linux 集區上,僅支援 「TemporaryDisk」 ;在 Windows 集區上,必須指定 「OsDisk」 和 「TemporaryDisk」。。 | 包含任何的字串數組: 'OsDisk' 'TemporaryDisk' |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriorityNodes。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
communityGalleryImageId | 這個屬性與其他屬性互斥,而且可以從社群資源庫映像 GET 呼叫擷取。 | 字串 |
id | 這個屬性與其他屬性互斥。 Azure 計算資源庫映像必須具有與 Azure Batch 帳戶相同的區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sharedGalleryImageId | 這個屬性與其他屬性互斥,而且可以從共用資源庫映像 GET 呼叫擷取。 | 字串 |
sku | 例如,18.04-LTS 或 2022-datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,但 29876 和 29877 除外,因為這些值是保留的。 如果提供任何保留值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeEnd | 可接受的值範圍介於 1 到 65534 之間,但 Batch 服務保留的埠從 50000 到 55000。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
frontendPortRangeStart | 可接受的值範圍介於 1 到 65534 之間,但保留的埠介於 50000 到 55000 之間。 集區內的所有範圍都必須是相異且無法重疊的。 如果提供任何保留或重疊的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
名字 | 名稱在 Batch 集區內必須是唯一的,可以包含字母、數位、底線、句號和連字元。 名稱必須以字母或數字開頭,結尾必須是字母、數位或底線,且不能超過 77 個字元。 如果提供任何無效的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | 字串 (必要) |
networkSecurityGroupRules | 可以跨 Batch 集區上所有端點指定的規則數目上限為 25。 如果未指定網路安全組規則,則會建立默認規則以允許輸入存取指定的 backendPort。 如果超過網路安全組規則的最大數目,要求會失敗,並出現 HTTP 狀態代碼 400。 | NetworkSecurityGroupRule[] |
協定 | 端點的通訊協定。 | 'TCP' 'UDP' (必要) |
LinuxUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
gid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定,則基礎操作系統會挑選 gid。 | int |
sshPrivateKey | 私鑰不得受到密碼保護。 當集區的 enableInterNodeCommunication 屬性為 true 時,私鑰用於在 Linux 集區中的節點之間自動設定非對稱密鑰型驗證(如果 enableInterNodeCommunication 為 false,則會忽略它)。 其方式是將金鑰組放入使用者的 .ssh 目錄中。 如果未指定,則不會在節點之間設定無密碼 SSH(不會修改使用者的 .ssh 目錄)。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 |
uid | uid 和 gid 屬性必須一起指定或完全不指定。 如果未指定基礎操作系統,則會挑選 uid。 | int |
ManagedDisk
名字 | 描述 | 價值 |
---|---|---|
securityProfile | 指定受控磁碟的安全性配置檔設定。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | VMDiskSecurityProfile |
storageAccountType | 用於建立數據磁碟或 OS 磁碟的記憶體帳戶類型。 | 'Premium_LRS' 'StandardSSD_LRS' 'Standard_LRS' |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
身份 | 用於 Batch 集區的身分識別類型。 | BatchPoolIdentity |
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
parent_id | 此資源為父系之資源的標識碼。 | 類型資源的標識碼:batchAccounts |
性能 | 與集區相關聯的屬性。 | PoolProperties |
標籤 | 資源標籤 | 標記名稱和值的字典。 |
類型 | 資源類型 | “Microsoft.Batch/batchAccounts/pools@2024-07-01” |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
dynamicVnetAssignmentScope | 動態 vnet 指派的範圍。 | 'job' 'none' |
enableAcceleratedNetworking | 加速網路可讓單一根 I/O 虛擬化(SR-IOV)連線到 VM,這可能會導致改善網路效能。 如需詳細資訊,請參閱:/azure/virtual-network/accelerated-networking-overview。 | bool |
endpointConfiguration | 集區的端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 集區網路設定的公用IP位址組態。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 具有任何相關聯的網路安全組 (NSG),則必須針對輸入通訊啟用一些保留的系統埠,包括埠 29876 和 29877。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 4096。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
sourcePortRanges | 有效值為 『*』 (所有埠 0 - 65535) 或埠或埠範圍的陣列(例如 100-200)。 埠的範圍應介於 0 到 65535 和埠範圍或埠不能重疊。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 預設值為 *。 | string[] |
NFSMountConfiguration
名字 | 描述 | 價值 |
---|---|---|
mountOptions | 這些是 Windows 中的「net use」選項,Linux 中的「掛接」選項。 | 字串 |
relativeMountPath | 所有文件系統都會掛接至 Batch 掛接目錄,可透過 AZ_BATCH_NODE_MOUNTS_DIR 環境變數存取。 | 字串 (必要) |
源 | 要掛接之文件系統的 URI。 | 字串 (必要) |
NodePlacementConfiguration
名字 | 描述 | 價值 |
---|---|---|
政策 | Batch 服務用來布建節點的配置原則。 如果未指定,Batch 會使用區域原則。 | '地區' 'Zonal' |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 要針對磁碟啟用的快取類型。 | 'None' 'ReadOnly' 'ReadWrite' |
diskSizeGB | 建立新的 OS 磁碟時,以 GB 為單位的初始磁碟大小。 | int |
ephemeralOSDiskSettings | 指定虛擬機所用作業系統磁碟的暫時磁碟設定。 | DiffDiskSettings |
managedDisk | ManagedDisk | |
writeAcceleratorEnabled | 指定是否應該在磁碟上啟用或停用 writeAccelerator。 | bool |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 如果 IPAddressProvisioningType 為 NoPublicIPAddresses,則無法指定此專案。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 應用程式套件參考的變更會影響聯結集區的所有新計算節點,但在重新啟動或重新映像之前,不會影響已在集區中的計算節點。 在任何指定的集區上,最多有10個應用程式套件參考。 | ApplicationPackageReference[] |
證書 | 針對 Windows 計算節點,Batch 服務會將憑證安裝至指定的證書存儲和位置。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 警告:這個屬性已被取代,將在 2024 年 2 月之後移除。 請改用 Azure KeyVault 擴充功能。 |
CertificateReference[] |
deploymentConfiguration | 部署組態屬性。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
resourceTags | 要與 Azure Batch 集區相關聯的使用者定義標籤。 指定時,這些標籤會傳播至與集區相關聯的備份 Azure 資源。 只有在使用 poolAllocationMode 屬性設定為 'UserSubscription' 建立 Batch 帳戶時,才能指定這個屬性。 | PoolPropertiesResourceTags |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
targetNodeCommunicationMode | 如果省略,預設值為 Default。 | 'Classic' 'Default' 'Simplified' |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
upgradePolicy | 描述升級原則 - 自動、手動或滾動。 | UpgradePolicy |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需可用 VM 大小的詳細資訊,請參閱虛擬機的大小 (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) 或虛擬機的大小 (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)。 Batch 支援除了STANDARD_A0和具有進階記憶體以外的所有 Azure VM 大小(STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列)。 | 字串 |
PoolPropertiesResourceTags
名字 | 描述 | 價值 |
---|
PublicIPAddressConfiguration
名字 | 描述 | 價值 |
---|---|---|
ipAddressIds | 此處指定的IP數目會限制集區的大小上限 - 100個專用節點或100個現成/低優先順序節點,可以為每個公用IP配置。 例如,需要 250 個專用 VM 的集區至少需要 3 個公用 IP。 此集合的每個元素都是下列形式:/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}。 | string[] |
準備 | 預設值為 BatchManaged | 'BatchManaged' 'NoPublicIPAddresses' 'UserManaged' |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
autoStorageContainerName | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 | 字串 |
blobPrefix | 只有在使用 autoStorageContainerName 或 storageContainerUrl 時,屬性才有效。 此前置詞可以是部分檔名或子目錄。 如果未指定前置詞,則會下載容器中的所有檔案。 | 字串 |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 如果指定 HTTPUrl 屬性,則需要 filePath,並描述將下載檔案的路徑,包括檔名。 否則,如果指定 autoStorageContainerName 或 storageContainerUrl 屬性,則 filePath 是選擇性的,而且是要下載檔案的目錄。 在 filePath 當做目錄使用的情況下,任何已經與輸入數據相關聯的目錄結構都會完整保留,並附加至指定的 filePath 目錄。 指定的相對路徑無法脫離工作的工作目錄(例如,使用 『..』)。 | 字串 |
httpUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 如果 URL 指向 Azure Blob 記憶體,則必須從計算節點讀取它。 在 Azure 記憶體中取得 Blob 的這類 URL 有三種方式:包括授與 Blob 讀取許可權的共用存取簽章(SAS),使用具有讀取許可權的受控識別,或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
identityReference | 與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 | ComputeNodeIdentityReference |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須可從計算節點讀取和列出。 有三種方式可以取得 Azure 記憶體中容器的這類 URL:包括授與容器讀取和清單許可權的共用存取簽章(SAS),使用具有讀取和清單許可權的受控識別,或為容器設定 ACL 以允許公用存取。 | 字串 |
RollingUpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
enableCrossZoneUpgrade | 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 如果未設定此欄位,Azure Batch 將不會設定其預設值。 在建立的 VirtualMachineScaleSet 上 enableCrossZoneUpgrade 的值將由 VirtualMachineScaleSet 上的預設組態決定。 只有當使用 NodePlacementConfiguration 作為 Zonal 時,此欄位才能設定為 true 或 false。 | bool |
maxBatchInstancePercent | 一個批次中滾動升級同時升級的虛擬機實例總數上限百分比。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyInstancePercent | 擴展集中可同時狀況不良的虛擬機實例總數百分比上限,可能是因為升級而造成狀況不良,或在滾動升級中止之前,在虛擬機健康情況檢查中發現狀況不良狀態。 啟動任何批次之前,會先檢查此條件約束。 此欄位的值應介於 5 到 100 之間,包含。 如果 maxBatchInstancePercent 和 maxUnhealthyInstancePercent 都指派值,maxBatchInstancePercent 的值不應該超過 maxUnhealthyInstancePercent。 | int 約束: 最小值 = 5 最大值 = 100 |
maxUnhealthyUpgradedInstancePercent | 可發現處於狀況不良狀態的已升級虛擬機實例百分比上限。 升級每個批次之後,就會進行這項檢查。 如果超過這個百分比,滾動更新就會中止。 此欄位的值應介於 0 到 100 之間,並包含。 | int 約束: 最小值 = 0 最大值 = 100 |
pauseTimeBetweenBatches | 完成一個批次中所有虛擬機的更新,以及開始下一個批次之間的等候時間。 持續時間應以 ISO 8601 格式指定。 | 字串 |
prioritizeUnhealthyInstances | 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 | bool |
rollbackFailedInstancesOnPolicyBreach | 如果違反滾動升級原則,回復實例至先前的模型。 | bool |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
SecurityProfile
名字 | 描述 | 價值 |
---|---|---|
encryptionAtHost | 用戶可以在要求中使用這個屬性來啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 | bool |
securityType | 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 | 'confidentialVM' 'trustedLaunch' |
uefiSettings | 指定建立虛擬機時所使用的安全開機和 vTPM 等安全性設定。 | UefiSettings |
ServiceArtifactReference
名字 | 描述 | 價值 |
---|---|---|
id | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | 字串 (必要) |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
containerSettings | 指定此專案時,AZ_BATCH_NODE_ROOT_DIR下方的所有目錄都會遞歸地對應至容器(節點上的 Azure Batch 目錄根目錄),所有工作環境變數都會對應至容器,並在容器中執行工作命令行。 | TaskContainerSettings |
environmentSettings | 啟動工作的環境變數設定清單。 | EnvironmentSetting[] |
maxTaskRetryCount | 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作。 預設值為 0 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerHostBatchBindMounts | 如果此陣列為 Null 或不存在,容器工作將會在 Windows 中掛接整個暫存磁碟驅動器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此陣列設定為空白,它就不會將任何數據路徑掛接至容器。 | ContainerHostBatchBindMountEntry[] |
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UefiSettings
名字 | 描述 | 價值 |
---|---|---|
secureBootEnabled | 指定是否應在虛擬機上啟用安全開機。 | bool |
vTpmEnabled | 指定是否應在虛擬機上啟用 vTPM。 | bool |
UpgradePolicy
名字 | 描述 | 價值 |
---|---|---|
automaticOSUpgradePolicy | 用於執行自動OS升級的組態參數。 | AutomaticOSUpgradePolicy |
模式 | 指定升級至擴展集中虛擬機的模式。 可能的值為: 手動 - 您可以控制擴充集中虛擬機的更新應用程式。 您可以使用 manualUpgrade 動作來執行此動作。 自動 - 擴展集中的所有虛擬機都會同時自動更新。 滾動 - 擴展集會在兩者之間執行選擇性暫停時間的批次更新。 |
'automatic' 'manual' '滾動' (必要) |
rollingUpgradePolicy | 執行滾動升級時所使用的組態參數。 | RollingUpgradePolicy |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 名稱可以包含最多 20 個字元的任何 Unicode 字元。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 約束: 敏感性值。 以安全參數的形式傳入。 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserAssignedIdentities
名字 | 描述 | 價值 |
---|
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
擴展 | 如果指定,此組態中提及的擴充功能將會安裝在每個節點上。 | VMExtension[] |
imageReference | Azure 虛擬機 Marketplace 映像或自定義虛擬機的 Azure 映像資源的參考。 若要取得 Azure Batch 驗證的所有 imageReferences 清單,請參閱「列出支援的節點代理程式 SKU」作業。 | ImageReference (必要) |
licenseType | 這隻適用於包含 Windows 作業系統的映像,而且只有在您保留將部署之節點的有效內部部署授權時,才應該使用。 如果省略,則不會套用任何內部部署授權折扣。 值為: Windows_Server - 內部部署授權適用於 Windows Server。 Windows_Client - 內部部署授權適用於 Windows 用戶端。 |
字串 |
nodeAgentSkuId | Batch 節點代理程式是在集區中的每個節點上執行的程式,並提供節點與 Batch 服務之間的命令和控制介面。 針對不同的操作系統,節點代理程式有不同的實作,稱為 SKU。 您必須指定符合所選映像參考的節點代理程式 SKU。 若要取得支持的節點代理程式 SKU 清單及其已驗證映像參考清單,請參閱「列出支援的節點代理程式 SKU」作業。 | 字串 (必要) |
nodePlacementConfiguration | 此設定會指定集區中節點實際配置方式的規則。 | NodePlacementConfiguration |
osDisk | 包含暫時OSDisk設定的組態。 | OSDisk |
securityProfile | 指定虛擬機或虛擬機擴展集的安全性配置檔設定。 | SecurityProfile |
serviceArtifactReference | 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} | ServiceArtifactReference |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
VMDiskSecurityProfile
名字 | 描述 | 價值 |
---|---|---|
securityEncryptionType | 指定受控磁碟的 EncryptionType。 它設定為 VMGuestStateOnly,以便只加密 VMGuestState Blob,而 NonPersistedTPM 則不會保存 VMGuestState Blob 中的韌體狀態。 附註:它只能針對機密 VM 進行設定,而且在使用機密 VM 時是必要的。 | 'NonPersistedTPM' 'VMGuestStateOnly' |
VMExtension
名字 | 描述 | 價值 |
---|---|---|
autoUpgradeMinorVersion | 指出如果部署期間有新的次要版本,擴充功能是否應該使用較新的次要版本。 不過,部署之後,除非重新部署,否則擴充功能不會升級次要版本,即使此屬性設定為 true 也一定會升級。 | bool |
enableAutomaticUpgrade | 指出如果有較新版本的延伸模組可用,平臺是否應該自動升級延伸模組。 | bool |
名字 | 虛擬機擴充功能的名稱。 | 字串 (必要) |
protectedSettings | 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault 或完全沒有受保護的設定。 | 任何 |
provisionAfterExtensions | 必須布建此延伸模組之後的延伸模組名稱集合。 | string[] |
發行人 | 擴充處理程序發行者的名稱。 | 字串 (必要) |
設置 | 擴充功能的 JSON 格式化公用設定。 | 任何 |
類型 | 延伸模組的類型。 | 字串 (必要) |
typeHandlerVersion | 腳本處理程式的版本。 | 字串 |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 預設值為 Interactive。 | 'Batch' 'Interactive' |