批次服務 REST API 版本設定

批次服務 REST API 提供的作業可能會隨 API 的演進,一般時間後即有多個版本回溯相容。 您必須提供 REST 呼叫的版本,指定呼叫時想要使用的作業版本。 如果您的應用程式呼叫舊版作業,您可以選擇繼續呼叫該較舊版本,或是修改程式碼呼叫較新的版本。 如果未指定版本或指定不正確的版本,則會傳回錯誤。

若要指定要使用的作業版本,請設定 API 版本 查詢參數。 此版本的格式為 Group.Major.Minor,其中 Group 的格式為 'YYYY-MM-DD',Major 為整數,Minor 也是整數。

最新版本:2023-05-01.17.0

  • [中斷]已移除 Batch 作業/集區存留期統計資料 API: lifetimejobstatslifetimepoolstats
  • 已將布林值屬性 enableAcceleratedNetworking 新增至 NetworkConfiguration
    • 此屬性會判斷這個集區是否應該啟用加速網路,預設值為 False。
    • 是否可以啟用這項功能是否也與是否支援作業系統/VM 實例相關,這應該與 AcceleratedNetworking 原則一致。
  • 已將布林值屬性 enableAutomaticUpgrade 新增至 VMExtension
    • 此屬性會判斷如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。
  • ContainerConfiguration 屬性 type ,現在支援兩個值: DockerCompatibleCriCompatible

舊版本

舊版包括:

版本:2022-10-01.16.0

版本:2022-01-01.15.0

版本:2021-06-01.14.0

  • 新增將使用者指派受控識別指派給 CloudPool 的功能。 這些身分識別將會在集區中的每個節點上提供,而且可用來存取各種資源。
  • 已將 屬性新增 identityReference 至下列模型,以支援透過受控識別存取資源:
  • 已將新的 extensions 屬性新增至 上的 CloudPoolVirtualMachineConfiguration,以指定節點的虛擬機器擴充功能
  • 已新增在VirtualMachineConfiguration上使用新屬性 nodePlacementConfiguration 指定可用性區域的功能
  • 已將新的 osDisk 屬性新增至 VirtualMachineConfiguration,其中包含虛擬機器作業系統磁片的設定。
    • 上的 placementDiffDiskSettings 屬性會指定集區中所有 VM 作業系統磁片的暫時磁片位置。 將它設定為 「CacheDisk」 會將暫時 OS 磁片儲存在 VM 快取上。
  • 已新增 maxParallelTasksCloudJob 屬性,以控制每個作業同時執行的工作數目上限, (預設為 -1,這表示無限制) 。 此屬性目前為私人預覽版。
  • 已新增 virtualMachineInfoComputeNode 屬性,其中包含虛擬機器目前狀態的相關資訊,包括 VM 所使用的市集映射確切版本。
  • 已將 屬性新增 recurrenceIntervalSchedule ,以控制作業排程下兩個連續作業的開始時間之間的間隔。

版本:2020-09-01.12.0

  • [中斷]將 屬性 maxTasksPerNode 取代為 taskSlotsPerNode 集區上的 。 在作業中使用這個屬性工作可以取用動態數目的位置,以更精細地控制資源耗用量。
  • [中斷]已將 的 GetTaskCounts 回應類型變更為傳回 TaskCountsResult ,這是包含上 TaskCounts 一個 物件的複雜物件,以及一個新 TaskSlotCounts 物件,在所使用的位置內容中提供類似的資訊。
  • 已將 屬性 requiredSlots 新增至工作,允許使用者指定它應該佔用的節點上有多少位置。

版本:2020-03-01.11.0

版本:2019-08-01.10.0

  • 已新增透過集區上的新 publicIPs 屬性,在 上 NetworkConfiguration 指定公用 IP 集合的功能。 這可確保集區中的節點會有來自使用者提供 IP 的清單 IP。
  • 新增透過 屬性在集 MountConfiguration 區的每個節點上掛接遠端檔案系統的能力。
  • 您現在可以透過其 Azure Resource Manager 識別碼參考映射, virtualMachineImageId 在 的 屬性 ImageReference 上指定共用映射庫映射。
  • [中斷]未指定時,開啟 的 waitForSuccessStartTasktrue 預設值先前 (,) 。 false
  • [中斷]未指定時,on 的 scope 預設值現在一律 Pool 會 (先前,它位於 Task Windows 節點和 Pool Linux 節點上 AutoUserSpecification) 。
  • 改善各種混淆或不完整的檔。

版本:2019-06-01.9.0

  • [中斷]取代為 ListNodeAgentSKUsListSupportedImagesListSupportedImages 包含原本提供 ListNodeAgentSKUs 的所有相同資訊,但格式更清楚。 現在也會傳回新的未驗證映射。 和 CapabilitiesBatchSupportEndOfLife 的其他資訊可透過 存取 ImageInformation

  • 現在支援根據流量的來源埠封鎖 對 的網路存取 CloudPool 的網路安全性規則。 這會透過 NetworkSecurityGroupRule上的 SourcePortRanges 屬性來完成。

  • 執行容器時,Batch 現在支援在容器工作目錄中或 Batch 工作的工作目錄中執行工作。 這是由 TaskContainerSettings 上的 WorkingDirectory 屬性所控制。

  • 改善各種混淆或不完整的檔。

版本:2018-12-01.8.0

  • [中斷] 移除對集 upgradeos 區的支援 cloudServiceConfiguration

    • 已移除 upgradeos
    • targetOSVersion已重新命名為 osVersion ,並在 上 CloudPool 移除 currentOSVersion
    • 已從下列 PoolState 中移除 upgrading
  • [中斷] 已從 中移除 dataEgressGiBdataIngressGiBpoolusagemetrics 。 不再支援這些屬性。

  • [中斷]ResourceFile改進

    • 已新增在 ResourceFile中指定整個 Azure 儲存體容器的功能。 ResourceFile 現在支援三種模式:
      • httpUrl 會建立指向單一 ResourceFile HTTP URL 的 。
      • storageContainerUrlResourceFile 建立指向 Azure Blob 儲存體容器的 。
      • autoStorageContainerName 會在 ResourceFile Batch 註冊的自動儲存體帳戶中建立指向 Azure Blob 儲存體容器的 。
    • 透過 方法提供給 ResourceFilehttpUrl URL 現在可以是任何 HTTP URL。 之前,這些必須是 Azure Blob 儲存體 URL。
    • blobPrefix 可用來篩選儲存體容器的下載,只篩選符合前置詞的下載專案。
  • [中斷]已從 VirtualMachineConfiguration 移除 osDisk 屬性。 這個屬性不再受到支援。

  • 將 設定 dynamicVNetAssignmentScopejobNetworkConfiguration 集區現在可以動態指派虛擬網路給作業工作執行的每個節點。 要加入節點的特定虛擬網路是在 和 JobSpecification 的新 JobNetworkConfigurationCloudJob 屬性中指定。

    注意

    這項功能處於公開預覽狀態。 除了與我們連絡並要求在試驗中的人員之外,所有 Batch 帳戶都會停用此功能。

  • 工作的最大存留期現在是 180 天, (先前是 7) 。

  • 在 Windows 集區上新增支援,以透過 建立具有特定登入模式的使用者 (batchinteractive) LoginMode

  • 所有工作的預設工作保留時間現在是 7 天,以前是無限的。

版本 2018-08-01.7.0

2018-08-01.7.0 版的新功能包括:

  • 透過ComputeNode上的新NodeAgentInfo屬性,檢視 Azure Batch-節點代理程式的版本。
  • 已新增在工作的 上 Result 指定 Filter 的功能。 詳細資訊請看這裡
    • 這可讓執行伺服器端查詢的經常要求案例,找出所有失敗的工作。
  • [中斷]ValidationStatus已從TaskCounts移除 屬性。
  • [中斷]DataDisk 和 OSDisk的預設快取類型現在是 ReadWrite ,而不是 None
  • [中斷]ContainerType 的唯一值從 docker 重新命名為 dockerCompatible

版本 2018-03-01.6.1

2018-03-01.6.1 版的新功能包括:

  • 依狀態計算集區節點計數:此版本會透過新的 ListPoolNodeCounts 作業,新增依狀態查詢集區節點計數的功能。 這項作業可讓您查詢 Batch 帳戶中的所有集區,以取得節點狀態,包括建立、閒置、離線、先占、重新開機、重新製作映射、啟動等等。
  • 節點代理程式記錄:此版本會透過 UploadBatchServiceLogs 作業,新增從特定節點上傳 Azure Batch-節點代理程式記錄的功能。 如果節點上發生問題,這適用于 Microsoft 支援服務偵錯。

版本 2017-09-01.6.0

  • Azure Hybrid Use Benefit:您現在可以建立 Batch Windows VM 集區,指定要使用 Azure Hybrid Use Benefit 授權。 使用此授權時,折扣會套用至 VM 價格。 在VirtualMachineConfiguration上使用新的LicenseType屬性。

  • 集區 VM 資料磁片:您可以使用屬於虛擬機器設定一部分的新資料磁片組態,將一或多個空的資料磁片連結至 VM 集區。 在VirtualMachineConfiguration上使用DataDisks屬性。

  • (重大變更) 自訂映射現在會使用 Azure Resource Manager 映射資源來建立和部署,而不是 Blob VHD 檔案。 Batch 現在會使用受控磁片來建立集區 VM,因此會使用 映射 資源。 現在沒有限制使用自訂映射所建立集區中的 VM 數目;此外,不再需要大型集區的 VHD Blob 複本。 因此,自訂映射集區更容易建立和調整。 如需詳細資訊,請參閱使用自訂映像來建立虛擬機器的集區

  • (重大變更) 使用 MultiInstanceSettings) 建立的多實例工作 (現在必須指定 CoordinationCommandLine而 NumberOfInstances 現在是選擇性的,預設值為 1。

  • 已新增使用 Docker 容器執行之工作的支援。 若要使用 Docker 容器執行工作,您必須在集區的VirtualMachineConfiguration 上指定 ContainerConfiguration,然後在 Task 上新增TaskContainerSettings

版本 2017-06-01.5.1

此處所述的 Batch API 版本為 2017-06-01.5.1。 建議盡可能使用最新版本。

2017-06-01.5.1 版的新功能包括:

  • 透過新的 取得工作計數 作業支援有效率的工作計數。 藉由呼叫取得工作計數作業,您可以取得作用中、執行中和已完成的工作計數,以及成功或失敗的工作。 如需詳細資訊,請參閱依狀態計算作業的工作 (預覽)
  • 透過新的 poolEndpointConfiguration 屬性,支援在集區計算節點上指定輸入端點。 藉由設定此屬性,您可以在外部定址節點上的特定埠。

版本 2017-05-01.5.0

下列各節概述 2017-05-01.5.0 版中的新功能和變更的功能。

重要

版本 2017-05-01.5.0 包含數項重大變更。 請檢閱以下所述的重大變更,並更新您的程式碼,以呼叫 2017-05-01.5.0 版。

低優先順序計算節點

Azure Batch 現在提供低優先順序的計算節點,以減少 Batch 工作負載的成本。 低優先順序的 VM 能提供大量的計算能力,同時也是經濟實惠的選擇,從而實現新的 Batch 工作負載類型。

低優先順序節點的 REST API 有數項變更:

  • (重大變更) 集區或集區規格的 targetDedicatedcurrentDedicated 屬性已重新命名為 targetDedicatedNodescurrentComputeNodes
  • (重大變更) 集區的 resizeError 屬性現在是名為 resizeErrors的集合。
  • 計算節點有新的 isDedicated 屬性。 這個 屬性適用于專用 節點,而低優先順序節點則為 false
  • 作業管理員工作具有新的 allowLowPriorityNode 屬性。 如果此屬性 為 true,作業管理員工作可能會在低優先順序節點上執行。 如果為 false,則作業管理員工作會在專用計算節點上執行。

Linux 上的具名使用者

Azure Batch 現在提供在 Linux 節點上建立具名使用者的額外支援。

  • 新的 linuxUserConfiguration 屬性支援在建立 Linux 使用者時指定 uid (使用者識別碼) 和 gid (群組識別碼) 。
  • (重大變更) sshPrivateKey 屬性已從 userAccount 屬性移至新的 linuxUserConfiguration 屬性。 linuxUserConfiguration屬性本身是userAccount屬性的屬性。

如需具名使用者帳戶的詳細資訊,請參閱 在 Batch 中的使用者帳戶下執行工作

工作資料的輸出檔案

您現在可以指定輸出檔案,以在工作完成之後上傳工作資料。

  • 新的 outputFiles 屬性支援指定要上傳至 Azure 儲存體的工作檔案。
  • exitConditions屬性的新fileUploadError屬性支援根據輸出檔案的上傳狀態來指定要採取的動作。

工作錯誤報表

已進行數項變更,以改善工作錯誤的報告。

  • executionInfo屬性的新結果屬性會指出工作成功或失敗。
  • (重大變更) executionInfo屬性的schedulingError屬性已重新命名為 failureInfo。 每當發生工作失敗時,就會傳回 failureInfo 屬性。 這包括所有先前的排程錯誤案例、傳回非零工作結束代碼的所有案例,以及任何檔案上傳失敗。
  • (重大變更) exitConditions屬性的schedulingError屬性已重新命名為preProcessingError,以厘清工作生命週期中發生錯誤的時間。
  • (重大變更) 已將 schedulingErrorCateogry 屬性重新命名為 errorCategory

應用程式授權

您現在可以透過集區或集區規格上的新 applicationLicenses 屬性,要求將應用程式授權布建至集區。

版本 2017-01-01.4.0

此版本會擴充舊版 2016-07-01.3.1 的所有支援。 此外,它支援下列功能:

  • 在指定的使用者身分識別下執行工作。

    您現在可以在下列其中一個使用者身分識別下執行工作或工作集合,並透過工作資源上的新 userIdentity 屬性指定:

    • 具有您所定義名稱的使用者帳戶。

    • 自動 (自動使用者) 建立的使用者帳戶。 自動使用者可以以系統管理使用者或非系統管理使用者身分執行。 根據預設,自動使用者會以非系統管理使用者身分執行。

      重要

      userIdentity屬性的elevationLevel屬性會取代新增工作或工作集合之要求中的runElevated屬性,以及在取得工作或該清單工作相關資訊的回應中。

      如果您提出包含 runElevated 屬性的要求至 2017-01-01-01.4.0 版 Batch 服務,要求將會失敗。

      若要以系統管理使用者身分執行,請將您的應用程式更新為使用 userIdentity 屬性,並將 elevationLevel 屬性設定為 admin

      若要以非系統管理使用者身分執行,請將您的應用程式更新為使用 userIdentity 屬性,並將 elevationLevel 屬性設定為 nonAdmin。 因為這是預設值,您也可以省略設定。

  • 定義集區中所有節點的使用者帳戶。

    您現在可以在集區資源上定義的使用者帳戶下執行工作或工作集合。 在新增集區的要求中,透過新的userAccounts屬性定義使用者帳戶。 當您定義帳戶時,您可以指定帳戶名稱、密碼、提高許可權層級 (系統管理員或非系統管理員) ,以及 Linux 集區) 的 SSH 私密金鑰 (。

    定義使用者帳戶之後,您可以在新增工作或工作集合的要求中指定 userIdentity 屬性的使用者帳戶。

  • 提供工作執行時要向 Batch 服務驗證的權杖。

    Batch 服務現在可以在執行時提供驗證權杖給工作。 驗證權杖可讓工作發出與 Batch 服務相關的要求,而不需要 Batch 帳戶金鑰。 權杖是透過 AZ_BATCH_AUTHENTICATION_TOKEN 環境變數來提供。

    目前僅支援在作業資源上呼叫作業的驗證權杖。 驗證權杖會授與包含工作之作業上所有作業的存取權。

    若要讓 Batch 服務提供驗證權杖,請在新增工作新增工作集合的要求中,指定新的authenticationTokenSettings屬性及其存取屬性。

  • 如果工作失敗,請指定要對工作相依性採取的動作。

    您現在可以指定相依工作繼續,即使相依的工作失敗也一樣。 將工作資源的新 dependencyAction 屬性設定為滿足,以 執行 相依工作,即使父工作失敗也一樣。 或者,將 dependencyAction 設定為 [封鎖 ] 以防止在父工作失敗時執行相依工作。

    在 [新增工作] 或 [新增工作集合] 的要求中指定dependencyAction屬性。

    如需使用相依性動作的詳細資訊,請參閱 相依性動作

  • 建立集區時,請使用自訂 OS 磁片映射。

    您現在可以使用自訂 OS 磁片映射來建立集區。

    若要這樣做,您必須指定建立要布建在使用者訂用帳戶中的 Batch 帳戶,而不是在 Batch 服務管理的訂用帳戶中。 在呼叫 [建立帳戶] 中,將 poolAllocationMode 屬性設定為 UserSubscription。 然後使用 osDisk 屬性,在 新增集區的要求中指定磁片映射的參考。

    重要

    當您建立 Batch 帳戶時,如果您指定要在使用者訂用帳戶中布建集區,則必須針對透過該帳戶提出的所有要求使用 Azure Active Directory 型驗證。

  • 針對 Batch 服務的要求使用 Azure Active Directory 型驗證。

    現在支援 Azure Active Directory (Azure AD) 來驗證 Batch 服務的呼叫。

    如果您的 Batch 帳戶已設定為在使用者訂用帳戶中布建集區,則需要使用 Azure AD 驗證。

版本 2016-07-01.3.1

此版本會擴充舊版 2016-02-01.3.0 的所有支援。 此外,它支援下列功能:

  • 使用網路組態建立集區和自動緩衝處理的功能

    • 新的屬性 networkConfiguration 已新增至集區和自動緩衝處理資源。 這個屬性可用來指定集區的網路組態,例如建立集區計算節點的子網。
  • 當所有工作都完成時,自動終止作業。

    • 已在作業資源中新增 AllTasksComplete 的新屬性。 您可以在建立或更新作業時指定此專案。
  • 工作失敗時,自動終止或停用作業。

    • 已將新的屬性 onTaskFailure 新增至作業資源,且已將新的屬性 exitConditions 新增至工作資源。 job onTaskFailure 設定會指出工作失敗是否有工作層級影響,而工作 exitConditions 屬性可讓工作量身打造工作層級對失敗本質的影響。
  • 將應用程式套件與工作和集區產生關聯。

    • 新的屬性 applicationPackageReferences 已新增至工作資源和作業工作ManagerTask 設定。 這可讓應用程式套件視需要部署,而不是要求在集區建立期間指定它們。 對於長時間執行的集區而言,這特別有用,這些集區可能會在其存留期內執行不同類型的作業或不同的應用程式版本,或者如果您有大型應用程式套件,但並非所有工作都不需要。
  • 重新啟用失敗工作的功能。

    • 已新增重新 啟用工作 的新作業,以將失敗的工作狀態重設為使用中。 這可讓重試失敗,例如,如果失敗是暫時性的,或您是否能夠修正失敗的原因,而不需重新建立工作。

版本 2016-02-01.3.0

此版本會擴充舊版 2015-12-01.2.2 的所有支援。 此外,它支援下列功能:

版本 2015-12-01.2.2

此版本會擴充舊版 2015-11-01.2.1 的所有支援。 此外,它也支援下列功能:

  • 應用程式現在可以使用應用程式套件部署至計算節點,而不是作為資源檔。

    • 系統會為用戶端提供新的 API,以流覽可用的應用程式和版本清單,例如在使用者介面中顯示選取器。

    • 集區相關的 API 會變更為允許集區指定要下載到該集區中所有節點的應用程式套件。

  • 工作現在可以相依于其他工作。 相依工作將不會開始,直到它相依的所有工作都成功完成為止。

此版本包含下列其他變更:

  • 預設集區調整大小逾時已變更為 15 分鐘。

版本 2015-11-01.2.1

此版本會擴充舊版 2015-06-01.2.0 的所有支援。 此外,它也支援下列功能:

  • 新增和執行多重實例工作 (的功能,例如 MPI)

    • 新的選擇性屬性 'multiInstanceSettings' 會新增至工作資源,可選擇性地包含在 [新增工作]、[取得工作]、[列出工作 API] 中。

    • 新增 API 列出工作的子工作,以取得子工作的相關資訊。

    • 新的選擇性屬性 'subtaskId' 會新增至計算節點的 'recentTasks'。 此屬性會以取得計算節點和列出計算節點的一部分傳回

  • 在計算節點上停用或啟用工作排程的功能

    • 兩個新的 API 在節點上停用工作排程,並在計算節點資源上新增 [啟用節點上的工作排程]。

    • 已新增新的計算節點狀態 'offline'。 針對較舊的 API 版本,此狀態會對應至「無法使用」。

    • 新的屬性 'schedulingState' 會新增至計算節點資源。 'enabled' 和 'disabled' 的可能值。

  • 在集區/自動緩衝集區上指定自動調整評估間隔的功能

    • 新的屬性 'autoScaleEvaluationInterval' 會新增至集區資源。 這個屬性可以包含在新增集區、取得集區、啟用自動調整和清單集區 API 中。

    • 同樣地,針對自動集區,會將新的屬性 'autoScaleEvaluationInterval' 新增至 'autoPoolSpecification' 屬性。 這個屬性可以包含在 [新增作業]、[取得作業]、[列出作業]、[新增作業排程]、[取得作業排程]、[更新作業排程]、[列出作業排程] 和 [列出作業排程 API 中的作業]。

  • 增強工作 API,以傳回計算節點上工作的根目錄。

    • 將兩個新的屬性 'taskRootDirectory' 和 'taskRootDirectoryUrl' 新增至工作資源,這些屬性可取得作為取得工作相關資訊的一部分:列出工作 API

    • 新的屬性 'taskRootDirectory' 會新增至 'jobPreparationTaskExecutionInfo' 和 'jobReleaseTaskExecutionInfo',可透過列出作業 API 的工作準備和作業發行工作的狀態取得。