共用方式為


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
此範本會建立 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'