Microsoft.Batch batchAccounts/pools 2017-09-01
Bicep 資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 Bicep 新增至範本。
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2017-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: {
currentOSVersion: 'string'
osFamily: 'string'
targetOSVersion: 'string'
}
virtualMachineConfiguration: {
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
osDisk: {
caching: 'string'
}
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
maxTasksPerNode: int
metadata: [
{
name: 'string'
value: 'string'
}
]
networkConfiguration: {
endpointConfiguration: {
inboundNatPools: [
{
backendPort: int
frontendPortRangeEnd: int
frontendPortRangeStart: int
name: 'string'
networkSecurityGroupRules: [
{
access: 'string'
priority: int
sourceAddressPrefix: 'string'
}
]
protocol: 'string'
}
]
}
subnetId: 'string'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
environmentSettings: [
{
name: 'string'
value: 'string'
}
]
maxTaskRetryCount: int
resourceFiles: [
{
blobSource: 'string'
fileMode: 'string'
filePath: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
taskSchedulingPolicy: {
nodeFillType: 'string'
}
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
}
]
vmSize: 'string'
}
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | pool - 指定工作以在集區中的每個節點上建立的通用自動使用者帳戶執行。 task - 指定服務應該為工作建立新的使用者。 預設值為 task。 | 'Pool' 'Task' |
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。 | 字串 |
能見度 | 值為: starttask - 執行啟動工作的用戶帳戶。 task - 執行作業工作的帳戶。 remoteuser - 用戶遠端存取節點的帳戶。 您可以在此集合中指定多個可見度。 預設值為所有帳戶。 |
包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
currentOSVersion | 如果集區狀態為 Upgrade,則這可能與 targetOSVersion 不同。 在此情況下,有些虛擬機可能位於 targetOSVersion 上,有些虛擬機可能會在升級程式期間位於 currentOSVersion 上。 升級所有虛擬機之後,currentOSVersion 會更新為與 targetOSVersion 相同的 。 | 字串 |
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。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
targetOSVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
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。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 虛擬機映像必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 如需與 Batch 服務通訊之 Batch 節點代理程式的防火牆設定相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration 。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,14.04.0-LTS 或 2012-R2-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 |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 針對透過 virtualMachineConfiguration 建立的集區,Batch 帳戶必須具有 poolAllocationMode userSubscription 才能使用 VNet。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 3500。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 預設值為 none。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 對應用程式套件所做的變更會影響聯結集區的所有新計算節點,但不會影響集區中已經存在於集區的計算節點,直到重新啟動或重新映像為止。 | 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' |
maxTasksPerNode | 可在集區中單一計算節點上同時執行的工作數目上限。 | int |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 指定工作應該如何分散到計算節點。 | TaskSchedulingPolicy |
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系列)。 | 字串 |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
blobSource | 此 URL 必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 (必要) |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 要下載檔案之計算節點上的位置,相對於工作的工作目錄。 | 字串 (必要) |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
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 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 false。 | bool |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
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」作業。 | 字串 (必要) |
osDisk | 虛擬機操作系統磁碟的設定。 | OSDisk |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
快速入門範例
下列快速入門範例會部署此資源類型。
Bicep 檔案 | 描述 |
---|---|
沒有公用IP位址的 Azure Batch 集區 | 此範本會建立 Azure Batch 簡化的節點通訊集區,而不需要公用 IP 位址。 |
ARM 樣本資源定義
batchAccounts/pools 資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.Batch/batchAccounts/pools 資源,請將下列 JSON 新增至範本。
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2017-09-01",
"name": "string",
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"cloudServiceConfiguration": {
"currentOSVersion": "string",
"osFamily": "string",
"targetOSVersion": "string"
},
"virtualMachineConfiguration": {
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"osDisk": {
"caching": "string"
},
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"maxTasksPerNode": "int",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": "int",
"frontendPortRangeEnd": "int",
"frontendPortRangeStart": "int",
"name": "string",
"networkSecurityGroupRules": [
{
"access": "string",
"priority": "int",
"sourceAddressPrefix": "string"
}
],
"protocol": "string"
}
]
},
"subnetId": "string"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"environmentSettings": [
{
"name": "string",
"value": "string"
}
],
"maxTaskRetryCount": "int",
"resourceFiles": [
{
"blobSource": "string",
"fileMode": "string",
"filePath": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string"
}
],
"vmSize": "string"
}
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | pool - 指定工作以在集區中的每個節點上建立的通用自動使用者帳戶執行。 task - 指定服務應該為工作建立新的使用者。 預設值為 task。 | 'Pool' 'Task' |
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。 | 字串 |
能見度 | 值為: starttask - 執行啟動工作的用戶帳戶。 task - 執行作業工作的帳戶。 remoteuser - 用戶遠端存取節點的帳戶。 您可以在此集合中指定多個可見度。 預設值為所有帳戶。 |
包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
currentOSVersion | 如果集區狀態為 Upgrade,則這可能與 targetOSVersion 不同。 在此情況下,有些虛擬機可能位於 targetOSVersion 上,有些虛擬機可能會在升級程式期間位於 currentOSVersion 上。 升級所有虛擬機之後,currentOSVersion 會更新為與 targetOSVersion 相同的 。 | 字串 |
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。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
targetOSVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
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。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 虛擬機映像必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 如需與 Batch 服務通訊之 Batch 節點代理程式的防火牆設定相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration 。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,14.04.0-LTS 或 2012-R2-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 版本 | '2017-09-01' |
名字 | 資源名稱 | 字串 約束: 最小長度 = 1 最大長度 = 1 模式 = ^[a-zA-Z0-9_-]+$ (必要) |
性能 | 與集區相關聯的屬性。 | PoolProperties |
類型 | 資源類型 | 'Microsoft.Batch/batchAccounts/pools' |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 針對透過 virtualMachineConfiguration 建立的集區,Batch 帳戶必須具有 poolAllocationMode userSubscription 才能使用 VNet。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 3500。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 預設值為 none。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 對應用程式套件所做的變更會影響聯結集區的所有新計算節點,但不會影響集區中已經存在於集區的計算節點,直到重新啟動或重新映像為止。 | 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' |
maxTasksPerNode | 可在集區中單一計算節點上同時執行的工作數目上限。 | int |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 指定工作應該如何分散到計算節點。 | TaskSchedulingPolicy |
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系列)。 | 字串 |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
blobSource | 此 URL 必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 (必要) |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 要下載檔案之計算節點上的位置,相對於工作的工作目錄。 | 字串 (必要) |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
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 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 false。 | bool |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
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」作業。 | 字串 (必要) |
osDisk | 虛擬機操作系統磁碟的設定。 | OSDisk |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |
快速入門範本
下列快速入門範本會部署此資源類型。
範本 | 描述 |
---|---|
沒有公用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@2017-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 = {
currentOSVersion = "string"
osFamily = "string"
targetOSVersion = "string"
}
virtualMachineConfiguration = {
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
osDisk = {
caching = "string"
}
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
maxTasksPerNode = int
metadata = [
{
name = "string"
value = "string"
}
]
networkConfiguration = {
endpointConfiguration = {
inboundNatPools = [
{
backendPort = int
frontendPortRangeEnd = int
frontendPortRangeStart = int
name = "string"
networkSecurityGroupRules = [
{
access = "string"
priority = int
sourceAddressPrefix = "string"
}
]
protocol = "string"
}
]
}
subnetId = "string"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
environmentSettings = [
{
name = "string"
value = "string"
}
]
maxTaskRetryCount = int
resourceFiles = [
{
blobSource = "string"
fileMode = "string"
filePath = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
taskSchedulingPolicy = {
nodeFillType = "string"
}
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
}
]
vmSize = "string"
}
})
}
屬性值
ApplicationPackageReference
名字 | 描述 | 價值 |
---|---|---|
id | 要安裝的應用程式套件識別碼。 這必須位於與集區相同的批次帳戶內。 這可以是特定版本的參考,如果存在,則為預設版本。 | 字串 (必要) |
版本 | 如果省略此專案,而且此應用程式未指定預設版本,要求會失敗,錯誤碼 InvalidApplicationPackageReferences。 如果您直接呼叫 REST API,HTTP 狀態代碼為 409。 | 字串 |
AutoScaleSettings
名字 | 描述 | 價值 |
---|---|---|
evaluationInterval | 如果省略,預設值為15分鐘(PT15M)。 | 字串 |
公式 | 集區中所需計算節點數目的公式。 | 字串 (必要) |
AutoUserSpecification
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
範圍 | pool - 指定工作以在集區中的每個節點上建立的通用自動使用者帳戶執行。 task - 指定服務應該為工作建立新的使用者。 預設值為 task。 | 'Pool' 'Task' |
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。 | 字串 |
能見度 | 值為: starttask - 執行啟動工作的用戶帳戶。 task - 執行作業工作的帳戶。 remoteuser - 用戶遠端存取節點的帳戶。 您可以在此集合中指定多個可見度。 預設值為所有帳戶。 |
包含任何的字串數組: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名字 | 描述 | 價值 |
---|---|---|
currentOSVersion | 如果集區狀態為 Upgrade,則這可能與 targetOSVersion 不同。 在此情況下,有些虛擬機可能位於 targetOSVersion 上,有些虛擬機可能會在升級程式期間位於 currentOSVersion 上。 升級所有虛擬機之後,currentOSVersion 會更新為與 targetOSVersion 相同的 。 | 字串 |
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。 如需詳細資訊,請參閱 Azure 客體 OS 版本 (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)。 | 字串 (必要) |
targetOSVersion | 預設值為 * ,指定指定作業系統系列的最新操作系統版本。 | 字串 |
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。 | int (必要) |
storageAccountType | 如果省略,預設值為 「Standard_LRS」。。 值為: Standard_LRS - 資料磁碟應使用標準本地備援記憶體。 Premium_LRS - 資料磁碟應該使用進階本地備援記憶體。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名字 | 描述 | 價值 |
---|---|---|
cloudServiceConfiguration | 這個屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定此屬性。 | CloudServiceConfiguration |
virtualMachineConfiguration | 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 | VirtualMachineConfiguration |
EnvironmentSetting
名字 | 描述 | 價值 |
---|---|---|
名字 | 環境變數的名稱。 | 字串 (必要) |
價值 | 環境變數的值。 | 字串 |
FixedScaleSettings
名字 | 描述 | 價值 |
---|---|---|
nodeDeallocationOption | 如果省略,預設值為 Requeue。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 預設值為15分鐘。 逾時值使用 ISO 8601 格式。 例如,使用 PT10M 10 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您直接呼叫 REST API,則 HTTP 狀態代碼為 400 (不正確的要求)。 | 字串 |
targetDedicatedNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
targetLowPriorityNodes | 至少必須設定其中一個 targetDedicatedNodes,targetLowPriority 節點。 | int |
ImageReference
名字 | 描述 | 價值 |
---|---|---|
id | 這個屬性與其他屬性互斥。 虛擬機映像必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 如需與 Batch 服務通訊之 Batch 節點代理程式的防火牆設定相關信息,請參閱 /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration 。 | 字串 |
提供 | 例如,UbuntuServer 或 WindowsServer。 | 字串 |
發行人 | 例如,Canonical 或 MicrosoftWindowsServer。 | 字串 |
sku | 例如,14.04.0-LTS 或 2012-R2-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@2017-09-01” |
NetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
endpointConfiguration | 只有具有 virtualMachineConfiguration 屬性的集區才支援集區端點組態。 | PoolEndpointConfiguration |
subnetId | 虛擬網路必須位於與 Azure Batch 帳戶相同的區域和訂用帳戶中。 指定的子網應該有足夠的可用IP位址來容納集區中的節點數目。 如果子網沒有足夠的可用IP位址,集區會部分配置計算節點,而且會發生重設大小錯誤。 'MicrosoftAzureBatch' 服務主體必須具有指定 VNet 的「傳統虛擬機參與者」Role-Based 訪問控制 (RBAC) 角色。 指定的子網必須允許來自 Azure Batch 服務的通訊,才能排程計算節點上的工作。 藉由檢查指定的 VNet 是否有任何相關聯的網路安全組 (NSG),即可驗證此情況。 如果 NSG 拒絕與指定子網中計算節點的通訊,Batch 服務會將計算節點的狀態設定為無法使用。 針對透過 virtualMachineConfiguration 建立的集區,Batch 帳戶必須具有 poolAllocationMode userSubscription 才能使用 VNet。 如果指定的 VNet 有任何相關聯的網路安全組 (NSG),則必須啟用一些保留的系統埠來進行輸入通訊。 針對使用虛擬機設定建立的集區,請啟用埠 29876 和 29877,以及適用於 Linux 的埠 22 和適用於 Windows 的埠 3389。 針對使用雲端服務設定建立的集區,請啟用埠 10100、20100 和 30100。 同時在埠 443 上啟用對 Azure 記憶體的輸出連線。 如需詳細資訊,請參閱:/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration | 字串 |
NetworkSecurityGroupRule
名字 | 描述 | 價值 |
---|---|---|
訪問 | 應該針對指定的IP位址、子網範圍或卷標採取的動作。 | 'Allow' '拒絕' (必要) |
優先權 | 集區內的優先順序必須是唯一的,而且會依優先順序進行評估。 數位越低,優先順序越高。 例如,可以使用訂單號碼 150、250 和 350 來指定規則。 順序編號為 150 的規則優先於順序為 250 的規則。 允許的優先順序為 150 到 3500。 如果提供任何保留或重複的值,要求就會失敗,且 HTTP 狀態代碼為 400。 | int (必要) |
sourceAddressPrefix | 有效值為單一IP位址(例如10.10.10.10.10)、IP子網(例如192.168.1.0/24)、預設標記或 * (適用於所有位址)。 如果提供任何其他值,要求就會因為 HTTP 狀態代碼 400 而失敗。 | 字串 (必要) |
OSDisk
名字 | 描述 | 價值 |
---|---|---|
緩存 | 預設值為 none。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名字 | 描述 | 價值 |
---|---|---|
inboundNatPools | 每個 Batch 集區的輸入 NAT 集區數目上限為 5。 如果超過輸入 NAT 集區數目上限,要求會失敗,並出現 HTTP 狀態代碼 400。 | InboundNatPool[] (必要) |
PoolProperties
名字 | 描述 | 價值 |
---|---|---|
applicationLicenses | 應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支持的授權,集區建立將會失敗。 | string[] |
applicationPackages | 對應用程式套件所做的變更會影響聯結集區的所有新計算節點,但不會影響集區中已經存在於集區的計算節點,直到重新啟動或重新映像為止。 | 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' |
maxTasksPerNode | 可在集區中單一計算節點上同時執行的工作數目上限。 | int |
元數據 | Batch 服務不會將任何意義指派給元數據;它僅供使用者程式代碼使用。 | MetadataItem[] |
networkConfiguration | 集區的網路組態。 | NetworkConfiguration |
scaleSettings | 定義集區所需的大小。 這可以是 'fixedScale',其中指定要求的目標DedicatedNodes,或 'autoScale',其會定義定期重新評估的公式。 如果未指定此屬性,集區將會有固定小數字數,且具有 0 個 targetDedicatedNodes。 | ScaleSettings |
startTask | 在 PATCH (update) 作業中,這個屬性可以設定為空白物件,以從集區中移除開始工作。 | StartTask |
taskSchedulingPolicy | 指定工作應該如何分散到計算節點。 | TaskSchedulingPolicy |
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系列)。 | 字串 |
ResourceFile
名字 | 描述 | 價值 |
---|---|---|
blobSource | 此 URL 必須使用匿名存取來讀取;也就是說,Batch 服務在下載 Blob 時不會顯示任何認證。 Azure 記憶體中的 Blob 有兩種方式可取得這類 URL:包括授與 Blob 讀取許可權的共用存取簽章(SAS),或設定 Blob 或其容器的 ACL 以允許公用存取。 | 字串 (必要) |
fileMode | 此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 節點的 resourceFile 指定,則會忽略它。 如果未為 Linux 節點指定這個屬性,則會將預設值 0770 套用至檔案。 | 字串 |
filePath | 要下載檔案之計算節點上的位置,相對於工作的工作目錄。 | 字串 (必要) |
ScaleSettings
名字 | 描述 | 價值 |
---|---|---|
autoScale | 這個屬性和 fixedScale 互斥,而且必須指定其中一個屬性。 | AutoScaleSettings |
fixedScale | 這個屬性和 autoScale 互斥,而且必須指定其中一個屬性。 | FixedScaleSettings |
StartTask
名字 | 描述 | 價值 |
---|---|---|
commandLine | 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果指定了 startTask 的任何其他屬性,則為必要。 | 字串 |
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 服務將不會等候啟動工作完成。 在此情況下,當啟動工作仍在執行時,其他工作可以在計算節點上開始執行;即使啟動工作失敗,新工作仍會繼續排程在節點上。 默認值為 false。 | bool |
TaskSchedulingPolicy
名字 | 描述 | 價值 |
---|---|---|
nodeFillType | 工作應該如何分散到計算節點。 | 'Pack' '傳播' (必要) |
UserAccount
名字 | 描述 | 價值 |
---|---|---|
elevationLevel | nonAdmin - 自動使用者是標準使用者,沒有提升許可權的存取權。 admin - 自動使用者是具有較高存取權的使用者,並使用完整的系統管理員許可權運作。 預設值為 nonAdmin。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | 如果在 Windows 集區上指定,則會忽略這個屬性。 如果未指定,則會使用預設選項建立使用者。 | LinuxUserConfiguration |
名字 | 用戶帳戶的名稱。 | 字串 (必要) |
密碼 | 用戶帳戶的密碼。 | 字串 (必要) |
UserIdentity
名字 | 描述 | 價值 |
---|---|---|
autoUser | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | AutoUserSpecification |
userName | userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 | 字串 |
VirtualMachineConfiguration
名字 | 描述 | 價值 |
---|---|---|
dataDisks | 如果集區中的計算節點必須連結空的數據磁碟,則必須指定這個屬性。 | DataDisk[] |
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」作業。 | 字串 (必要) |
osDisk | 虛擬機操作系統磁碟的設定。 | OSDisk |
windowsConfiguration | 如果 imageReference 指定 Linux OS 映射,則不得指定此屬性。 | WindowsConfiguration |
WindowsConfiguration
名字 | 描述 | 價值 |
---|---|---|
enableAutomaticUpdates | 如果省略,預設值為 true。 | bool |