Microsoft.Batch batchAccounts/pools 2020-09-01
Bicep 資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 Bicep 新增至範本。
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2020-09-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
applicationLicenses: [
'string'
]
applicationPackages: [
{
id: 'string'
version: 'string'
}
]
certificates: [
{
id: 'string'
storeLocation: 'string'
storeName: 'string'
visibility: [
'string'
]
}
]
deploymentConfiguration: {
cloudServiceConfiguration: {
osFamily: 'string'
osVersion: 'string'
}
virtualMachineConfiguration: {
containerConfiguration: {
containerImageNames: [
'string'
]
containerRegistries: [
{
password: 'string'
registryServer: 'string'
username: 'string'
}
]
type: 'DockerCompatible'
}
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
diskEncryptionConfiguration: {
targets: [
'string'
]
}
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
metadata: [
{
name: 'string'
value: 'string'
}
]
mountConfiguration: [
{
azureBlobFileSystemConfiguration: {
accountKey: 'string'
accountName: 'string'
blobfuseOptions: 'string'
containerName: '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: {
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'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
containerSettings: {
containerRunOptions: 'string'
imageName: 'string'
registry: {
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'
storageContainerUrl: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
taskSchedulingPolicy: {
nodeFillType: 'string'
}
taskSlotsPerNode: int
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。 | 字串 |
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 記憶體容器名稱。 | 字串 (必要) |
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 環境變數存取。 | 字串 (必要) |
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 常見的存放區名稱包括: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 檔案系統進行驗證的使用者。 | 字串 (必要) |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
osFamily | 可能的值為:2 - OS 系列 2,相當於 Windows Server 2008 R2 SP1。 3 - OS 系列 3,相當於 Windows Server 2012。 4 - OS 系列 4,相當於 Windows Server 2012 R2。 5 - OS 系列 5,相當於 Windows Server 2016。 6 - OS 系列 6,相當於 Windows Server 2019。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
osVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'DockerCompatible' (必要) |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
密碼 | 登入登錄伺服器的密碼。 | 字串 (必要) |
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' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
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
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 共用映像庫映像必須具有與 Azure Batch 帳戶相同區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,除了 22、3389、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 |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
父母 | 在 Bicep 中,您可以指定子資源的父資源。 只有在父資源外部宣告子資源時,才需要新增這個屬性。 如需詳細資訊,請參閱 父資源外部的子資源。 |
類型資源的符號名稱:batchAccounts |
性能 | 與集區相關聯的屬性。 | PoolProperties |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援此屬性。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 針對 cloudServiceConfiguration 集區,僅支援「傳統」VNET。 如需詳細資訊,請參閱:/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。 | 字串 (必要) |
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),並將憑證放在該目錄中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 會指定應該使用 Azure 雲端服務 (PaaS) 建立節點,而 VirtualMachineConfiguration 則使用 Azure 虛擬機 (IaaS)。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需雲端服務集區可用虛擬機大小的相關信息(使用 cloudServiceConfiguration 建立的集區),請參閱雲端服務的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支援 ExtraSmall 以外的所有雲端服務 VM 大小。 如需使用虛擬機 Marketplace 映像之集區可用 VM 大小的相關信息(使用 virtualMachineConfiguration 建立的集區)請參閱虛擬機的大小 (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系列)。 | 字串 |
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 記憶體,則必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須使用匿名存取來讀取且可列出;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取和列表許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
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 服務會不限制地重試工作。 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
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」作業。 | 字串 (必要) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 VirtualMachineConfiguration 集區的預設值為互動式模式,而 CloudServiceConfiguration 集區則為批次模式。 | 'Batch' 'Interactive' |
快速入門範例
下列快速入門範例會部署此資源類型。
Bicep 檔案 | 描述 |
---|---|
沒有公用IP位址的 Azure Batch 集區 | 此範本會建立 Azure Batch 簡化的節點通訊集區,而不需要公用 IP 位址。 |
ARM 樣本資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 JSON 新增至範本。
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2020-09-01",
"name": "string",
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"cloudServiceConfiguration": {
"osFamily": "string",
"osVersion": "string"
},
"virtualMachineConfiguration": {
"containerConfiguration": {
"containerImageNames": [ "string" ],
"containerRegistries": [
{
"password": "string",
"registryServer": "string",
"username": "string"
}
],
"type": "DockerCompatible"
},
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"diskEncryptionConfiguration": {
"targets": [ "string" ]
},
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"mountConfiguration": [
{
"azureBlobFileSystemConfiguration": {
"accountKey": "string",
"accountName": "string",
"blobfuseOptions": "string",
"containerName": "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": {
"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"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"containerSettings": {
"containerRunOptions": "string",
"imageName": "string",
"registry": {
"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",
"storageContainerUrl": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"taskSlotsPerNode": "int",
"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。 | 字串 |
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 記憶體容器名稱。 | 字串 (必要) |
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 環境變數存取。 | 字串 (必要) |
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 常見的存放區名稱包括: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 檔案系統進行驗證的使用者。 | 字串 (必要) |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
osFamily | 可能的值為:2 - OS 系列 2,相當於 Windows Server 2008 R2 SP1。 3 - OS 系列 3,相當於 Windows Server 2012。 4 - OS 系列 4,相當於 Windows Server 2012 R2。 5 - OS 系列 5,相當於 Windows Server 2016。 6 - OS 系列 6,相當於 Windows Server 2019。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
osVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'DockerCompatible' (必要) |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
密碼 | 登入登錄伺服器的密碼。 | 字串 (必要) |
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' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
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
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 共用映像庫映像必須具有與 Azure Batch 帳戶相同區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,除了 22、3389、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 |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
apiVersion | API 版本 | '2020-09-01' |
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
性能 | 與集區相關聯的屬性。 | PoolProperties |
類型 | 資源類型 | 'Microsoft.Batch/batchAccounts/pools' |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援此屬性。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 針對 cloudServiceConfiguration 集區,僅支援「傳統」VNET。 如需詳細資訊,請參閱:/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。 | 字串 (必要) |
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),並將憑證放在該目錄中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 會指定應該使用 Azure 雲端服務 (PaaS) 建立節點,而 VirtualMachineConfiguration 則使用 Azure 虛擬機 (IaaS)。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需雲端服務集區可用虛擬機大小的相關信息(使用 cloudServiceConfiguration 建立的集區),請參閱雲端服務的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支援 ExtraSmall 以外的所有雲端服務 VM 大小。 如需使用虛擬機 Marketplace 映像之集區可用 VM 大小的相關信息(使用 virtualMachineConfiguration 建立的集區)請參閱虛擬機的大小 (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系列)。 | 字串 |
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 記憶體,則必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須使用匿名存取來讀取且可列出;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取和列表許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
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 服務會不限制地重試工作。 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
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」作業。 | 字串 (必要) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 VirtualMachineConfiguration 集區的預設值為互動式模式,而 CloudServiceConfiguration 集區則為批次模式。 | '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@2020-09-01"
name = "string"
body = jsonencode({
properties = {
applicationLicenses = [
"string"
]
applicationPackages = [
{
id = "string"
version = "string"
}
]
certificates = [
{
id = "string"
storeLocation = "string"
storeName = "string"
visibility = [
"string"
]
}
]
deploymentConfiguration = {
cloudServiceConfiguration = {
osFamily = "string"
osVersion = "string"
}
virtualMachineConfiguration = {
containerConfiguration = {
containerImageNames = [
"string"
]
containerRegistries = [
{
password = "string"
registryServer = "string"
username = "string"
}
]
type = "DockerCompatible"
}
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
diskEncryptionConfiguration = {
targets = [
"string"
]
}
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
metadata = [
{
name = "string"
value = "string"
}
]
mountConfiguration = [
{
azureBlobFileSystemConfiguration = {
accountKey = "string"
accountName = "string"
blobfuseOptions = "string"
containerName = "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 = {
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"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
containerSettings = {
containerRunOptions = "string"
imageName = "string"
registry = {
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"
storageContainerUrl = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
taskSchedulingPolicy = {
nodeFillType = "string"
}
taskSlotsPerNode = int
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。 | 字串 |
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 記憶體容器名稱。 | 字串 (必要) |
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 環境變數存取。 | 字串 (必要) |
CertificateReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝在集區上之憑證的完整標識碼。 這必須位於與集區相同的批次帳戶內。 | 字串 (必要) |
storeLocation | 預設值為 currentUser。 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,而環境變數AZ_BATCH_CERTIFICATES_DIR會提供給工作來查詢此位置。 對於可見度為 『remoteUser』 的憑證,會在使用者的主目錄中建立 『certs』 目錄(例如 /home/{user-name}/certs),並將憑證放在該目錄中。 | 'CurrentUser' 'LocalMachine' |
storeName | 此屬性僅適用於使用 Windows 節點設定的集區(也就是使用 cloudServiceConfiguration 建立,或使用 Windows 映像參考使用 virtualMachineConfiguration 建立)。 常見的存放區名稱包括: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 檔案系統進行驗證的使用者。 | 字串 (必要) |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
osFamily | 可能的值為:2 - OS 系列 2,相當於 Windows Server 2008 R2 SP1。 3 - OS 系列 3,相當於 Windows Server 2012。 4 - OS 系列 4,相當於 Windows Server 2012 R2。 5 - OS 系列 5,相當於 Windows Server 2016。 6 - OS 系列 6,相當於 Windows Server 2019。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
osVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
ContainerConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerImageNames | 這是完整的映像參考,如同指定為 “docker pull”。 除非映像具有替代登錄的完整,否則映像會從預設 Docker 登錄進行來源。 | string[] |
containerRegistries | 如果必須從需要認證的私人登錄下載任何映像,則必須在這裡提供這些認證。 | ContainerRegistry[] |
類型 | 要使用的容器技術。 | 'DockerCompatible' (必要) |
ContainerRegistry
名字 | 描述 | 價值 |
---|---|---|
密碼 | 登入登錄伺服器的密碼。 | 字串 (必要) |
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' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
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
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 共用映像庫映像必須具有與 Azure Batch 帳戶相同區域中的複本。 如需 Batch 節點代理程式與 Batch 服務通訊之防火牆設定的相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,18.04-LTS 或 2019-Datacenter。 | 字串 |
版本 | 您可以指定 'latest' 的值來選取映像的最新版本。 如果省略,預設值為 'latest'。 | 字串 |
InboundNatPool
名字 | 描述 | 價值 |
---|---|---|
backendPort | 這在 Batch 集區內必須是唯一的。 可接受的值介於 1 到 65535 之間,除了 22、3389、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 |
MetadataItem
名字 | 描述 | 價值 |
---|---|---|
名字 | 元數據項目的名稱。 | 字串 (必要) |
價值 | 元數據專案的值。 | 字串 (必要) |
Microsoft.Batch/batchAccounts/pools
名字 | 描述 | 價值 |
---|---|---|
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
parent_id | 此資源為父系之資源的標識碼。 | 類型資源的標識碼:batchAccounts |
性能 | 與集區相關聯的屬性。 | PoolProperties |
類型 | 資源類型 | “Microsoft.Batch/batchAccounts/pools@2020-09-01” |
MountConfiguration
名字 | 描述 | 價值 |
---|---|---|
azureBlobFileSystemConfiguration | 這個屬性與其他所有屬性互斥。 | AzureBlobFileSystemConfiguration |
azureFileShareConfiguration | 這個屬性與其他所有屬性互斥。 | AzureFileShareConfiguration |
cifsMountConfiguration | 這個屬性與其他所有屬性互斥。 | CifsMountConfiguration |
nfsMountConfiguration | 這個屬性與其他所有屬性互斥。 | NFSMountConfiguration |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
publicIPAddressConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援此屬性。 | PublicIPAddressConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 針對 cloudServiceConfiguration 集區,僅支援「傳統」VNET。 如需詳細資訊,請參閱:/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。 | 字串 (必要) |
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),並將憑證放在該目錄中。 | CertificateReference[] |
deploymentConfiguration | 使用 CloudServiceConfiguration 會指定應該使用 Azure 雲端服務 (PaaS) 建立節點,而 VirtualMachineConfiguration 則使用 Azure 虛擬機 (IaaS)。 | DeploymentConfiguration |
displayName | 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 | 字串 |
interNodeCommunication | 這會限制哪些節點可以指派給集區。 啟用此值可減少集區中配置要求節點數目的機會。 如果未指定,這個值會預設為 『Disabled』。 | 'Disabled' 'Enabled' |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
mountConfiguration | 這支援 Azure 檔案服務、NFS、CIFS/SMB 和 Blobfuse。 | MountConfiguration[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 如果未指定,則會散佈預設值。 | TaskSchedulingPolicy |
taskSlotsPerNode | 預設值為 1。 最大值是集區 vmSize 或 256 核心數目的 4 倍小。 | int |
userAccounts | 要建立於集區中每個節點上的用戶帳戶清單。 | UserAccount[] |
vmSize | 如需雲端服務集區可用虛擬機大小的相關信息(使用 cloudServiceConfiguration 建立的集區),請參閱雲端服務的大小(https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)。 Batch 支援 ExtraSmall 以外的所有雲端服務 VM 大小。 如需使用虛擬機 Marketplace 映像之集區可用 VM 大小的相關信息(使用 virtualMachineConfiguration 建立的集區)請參閱虛擬機的大小 (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系列)。 | 字串 |
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 記憶體,則必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
storageContainerUrl | autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須使用匿名存取來讀取且可列出;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取和列表許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
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 服務會不限制地重試工作。 | int |
resourceFiles | Batch 服務在執行命令行之前,會先下載到計算節點的檔案清單。 | ResourceFile[] |
userIdentity | 如果省略,工作會以工作唯一的非系統管理使用者身分執行。 | UserIdentity |
waitForSuccess | 如果 true 且計算節點上的啟動工作失敗,Batch 服務就會將啟動工作重試到其最大重試計數 (maxTaskRetryCount)。 如果工作在所有重試之後仍未順利完成,Batch 服務會將計算節點標示為無法使用,且不會排程工作。 您可以透過節點狀態和排程錯誤詳細數據來偵測此狀況。 如果為 false,Batch 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 true。 | bool |
TaskContainerSettings
名字 | 描述 | 價值 |
---|---|---|
containerRunOptions | 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 | 字串 |
imageName | 這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標記做為映像名稱的一部分,則會使用標記 “:latest” 做為預設值。 | 字串 (必要) |
註冊表 | 如果已在集區建立時提供,則可以省略此設定。 | ContainerRegistry |
workingDirectory | 指出容器工作工作目錄所在位置的旗標。 默認值為 『taskWorkingDirectory』。 | 'ContainerImageDefault' 'TaskWorkingDirectory' |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
windowsUserConfiguration | 只有當用戶位於 Windows 集區時,才能指定這個屬性。 如果未指定且在 Windows 集區上,則會使用預設選項建立使用者。 | WindowsUserConfiguration |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
containerConfiguration | 如果指定,會在集區中的每個節點上執行安裝程式,以允許工作在容器中執行。 此集區上執行的所有一般工作和作業管理員工作都必須指定 containerSettings 屬性,而所有其他工作都可以指定它。 | ContainerConfiguration |
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
diskEncryptionConfiguration | 如果指定,則會在節點布建期間,在集區中的每個節點上執行加密。 | DiskEncryptionConfiguration |
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」作業。 | 字串 (必要) |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
WindowsUserConfiguration
名字 | 描述 | 價值 |
---|---|---|
loginMode | 指定使用者的登入模式。 VirtualMachineConfiguration 集區的預設值為互動式模式,而 CloudServiceConfiguration 集區則為批次模式。 | 'Batch' 'Interactive' |