Tasks - Get Task
取得指定任務的資訊。
對於多實例任務,像 affinityId、executionInfo 和 nodeInfo 這類資訊指的是主要任務。 使用 list 子任務 API 來取得子任務的資訊。
GET {endpoint}/jobs/{jobId}/tasks/{taskId}?api-version=2025-06-01
GET {endpoint}/jobs/{jobId}/tasks/{taskId}?api-version=2025-06-01&timeOut={timeOut}&$select={$select}&$expand={$expand}
URI 參數
| 名稱 | 位於 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Batch 帳戶端點 (例如:https://batchaccount.eastus2.batch.azure.com)。 |
|
job
|
path | True |
string |
包含該任務的作業 ID。 |
|
task
|
path | True |
string |
任務的ID,以獲取相關資訊。 |
|
api-version
|
query | True |
string minLength: 1 |
要用於這項作業的 API 版本。 |
|
$expand
|
query |
string[] |
OData $expand 子句。 |
|
|
$select
|
query |
string[] |
OData $select 子句。 |
|
|
time
|
query |
integer (int32) |
伺服器可以花費數秒處理要求的時間上限。 預設值為 30 秒。 若值大於30,則會使用預設值。」 |
要求標頭
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| client-request-id |
string |
呼叫端產生的要求身分識別,格式為 GUID,不含大括弧,例如 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0。 |
|
| return-client-request-id |
boolean |
伺服器是否應該在回應中傳回 client-request-id。 |
|
| ocp-date |
string (date-time-rfc7231) |
發出要求的時間。 用戶端連結庫通常會將此設定為目前的系統時鐘時間;如果您要直接呼叫 REST API,請明確設定它。 |
|
| If-Modified-Since |
string (date-time-rfc7231) |
時間戳,指出用戶端已知的資源上次修改時間。 只有在服務上的資源自指定時間以來已修改時,才會執行此作業。 |
|
| If-Unmodified-Since |
string (date-time-rfc7231) |
時間戳,指出用戶端已知的資源上次修改時間。 只有在服務上的資源自指定時間以來尚未修改時,才會執行此作業。 |
|
| If-Match |
string |
與用戶端已知的資源版本相關聯的ETag值。 只有在服務上的資源目前的 ETag 完全符合用戶端指定的值時,才會執行此作業。 |
|
| If-None-Match |
string |
與用戶端已知的資源版本相關聯的ETag值。 只有在服務的目前 ETag 不符合用戶端指定的值時,才會執行作業。 |
回應
| 名稱 | 類型 | Description |
|---|---|---|
| 200 OK |
要求已成功。 標題
|
|
| Other Status Codes |
未預期的錯誤回應。 |
安全性
OAuth2Auth
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
範圍
| 名稱 | Description |
|---|---|
| https://batch.core.windows.net//.default |
範例
Task get
範例要求
GET {endpoint}/jobs/jobId/tasks/taskId?api-version=2025-06-01
範例回覆
{
"id": "testTask",
"url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId",
"eTag": "0x8D3D62350711C55",
"creationTime": "2025-09-06T06:59:15.1161429Z",
"lastModified": "2025-09-06T06:59:15.1161429Z",
"state": "active",
"stateTransitionTime": "2025-09-06T06:59:15.1161429Z",
"commandLine": "cmd /c hostname",
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
},
"multiInstanceSettings": {
"numberOfInstances": 3,
"coordinationCommandLine": "cmd /c echo coordinating"
},
"constraints": {
"maxWallClockTime": "P10675199DT2H48M5.4775807S",
"retentionTime": "P10675199DT2H48M5.4775807S",
"maxTaskRetryCount": 0
},
"requiredSlots": 2,
"executionInfo": {
"retryCount": 0,
"requeueCount": 0
}
}
定義
| 名稱 | Description |
|---|---|
|
Authentication |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 |
|
Auto |
AutoUserScope 枚舉 |
|
Auto |
指定執行 Azure Batch 工作的自動用戶選項。 |
|
Batch |
BatchAccessScope 枚舉 |
|
Batch |
Batch 服務可用來選取要啟動工作的計算節點的區域提示。 |
|
Batch |
要部署到計算節點之封裝的參考。 |
|
Batch |
從 Azure Batch 服務收到的錯誤回應。 |
|
Batch |
Azure Batch 錯誤回應中包含的其他信息專案。 |
|
Batch |
Azure Batch 錯誤回應中收到的錯誤訊息。 |
|
Batch |
BatchErrorSourceCategory 的列舉 |
|
Batch |
BatchJobAction 的枚舉 |
|
Batch |
與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 |
|
Batch |
工作執行所在的計算節點相關信息。 |
|
Batch |
批次會在節點上觸發復原作業時重試工作。 復原作業的範例包括當狀況不良的節點重新啟動或計算節點因主機失敗而消失時,包括 (但不限於) 。 由於復原作業的重試與 無關,而且不會計入 maxTaskRetryCount。 即使 maxTaskRetryCount 是 0,由於復原作業,可能會發生內部重試。 因此,所有工作都應該是等冪的。 這表示工作必須容許中斷並重新啟動,而不會造成任何損毀或重複的數據。 長時間執行工作的最佳做法是使用某種形式的檢查點。 |
|
Batch |
要套用至工作的執行條件約束。 |
|
Batch |
包含工作執行所在的容器相關信息。 |
|
Batch |
工作的容器設定。 |
|
Batch |
指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依性工作。 |
|
Batch |
工作執行的相關信息。 |
|
Batch |
BatchTaskExecutionResult 的枚舉 |
|
Batch |
工作失敗的相關信息。 |
|
Batch |
範圍的開始和結尾是內含的。 例如,如果範圍有 9 開始和結束 12,則它代表工作 '9'、'10'、'11' 和 '12'。 |
|
Batch |
BatchTaskState 枚舉 |
|
Batch |
任務的資源使用量統計數據。 |
|
Container |
您想要掛接至工作容器的路徑和掛接模式專案。 |
|
Container |
要掛接至容器工作容器的路徑。 |
|
Container |
私人容器登錄。 |
|
Container |
ContainerWorkingDirectory 枚舉 |
|
Dependency |
DependencyAction 枚舉 |
|
Elevation |
高程層列舉 |
|
Environment |
要設定於工作進程的環境變數。 |
|
Exit |
如果工作以特定結束代碼結束,Batch 服務應該如何回應。 |
|
Exit |
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。 |
|
Exit |
指定 Batch 服務在工作完成時應該如何回應。 |
|
Exit |
指定 Batch 服務如何回應特定結束條件。 |
|
Multi |
多重實例工作通常用於支援 MPI 工作。 在 MPI 案例中,如果任一子工作失敗(例如,由於以非零結束代碼結束),則整個多重實例工作會失敗。 然後,多實例工作會終止並重試,達到其重試限制。 |
|
Name |
表示名稱/值組。 |
|
Output |
在每個檔案上傳上,Batch 服務會將兩個記錄檔寫入計算節點 'fileuploadout.txt' 和 'fileuploaderr.txt'。 這些記錄檔可用來深入瞭解特定失敗。 |
|
Output |
指定 Azure Blob 記憶體容器內的檔案上傳目的地。 |
|
Output |
檔案應該上傳至其中的目的地。 |
|
Output |
OutputFileUploadCondition 枚舉 |
|
Output |
輸出檔案上傳作業的選項,包括執行上傳的條件。 |
|
Output |
HTTP 標頭名稱/值組 |
|
Resource |
要下載至計算節點的單一檔案或多個檔案。 |
|
User |
執行工作的使用者身分識別定義。 指定userName或 autoUser 屬性,但不能同時指定兩者。 |
AuthenticationTokenSettings
工作可用來執行 Batch 服務作業之驗證令牌的設定。
| 名稱 | 類型 | Description |
|---|---|---|
| access |
就是 Token 授權存取的批次資源。 認證權杖允許存取有限的批次服務操作。 目前唯一支援的存取屬性值是「job」,它能存取包含該任務的所有與工作相關的操作。 |
AutoUserScope
AutoUserScope 枚舉
| 值 | Description |
|---|---|
| task |
指定服務應為該任務建立新使用者。 |
| pool |
指定該任務作為共用的自動使用者帳號執行,該帳號會在池中每個運算節點建立。 |
AutoUserSpecification
指定執行 Azure Batch 工作的自動用戶選項。
| 名稱 | 類型 | Description |
|---|---|---|
| elevationLevel |
自動使用者的提高許可權層級。 預設值為 nonAdmin。 |
|
| scope |
自動用戶的範圍。 預設值為集區。 如果集區正在執行 Windows,則當需要更嚴格的工作隔離時,應該指定 Task 的值。 例如,如果工作以可能影響其他工作的方式改變登錄。 |
BatchAccessScope
BatchAccessScope 枚舉
| 值 | Description |
|---|---|
| job |
授權執行包含該任務的工作的所有操作。 |
BatchAffinityInfo
Batch 服務可用來選取要啟動工作的計算節點的區域提示。
| 名稱 | 類型 | Description |
|---|---|---|
| affinityId |
string |
一個不透明的字串,代表先前執行過的計算節點或任務的位置。 你可以傳遞節點的 affinityId,表示該任務需要在該計算節點上執行。 請注意,這隻是軟親和性。 如果目標計算節點在排程工作時忙碌或無法使用,則會將工作排程到別處。 |
BatchApplicationPackageReference
要部署到計算節點之封裝的參考。
| 名稱 | 類型 | Description |
|---|---|---|
| applicationId |
string |
要部署的應用程式 ID。 建立集區時,套件的應用程式標識碼必須完整 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName})。 |
| version |
string |
要部署的應用程式版本。 如果省略,則會部署預設版本。 若池中省略此項,且未指定預設版本,請求將以錯誤代碼 InvalidApplicationPackageReferences 及 HTTP 狀態碼 409 失敗。 若任務中省略此功能,且未指定預設版本,該任務將因預處理錯誤而失敗。 |
BatchError
從 Azure Batch 服務收到的錯誤回應。
| 名稱 | 類型 | Description |
|---|---|---|
| code |
string |
錯誤的識別碼。 程序代碼是不變的,而且是要以程序設計方式取用。 |
| message |
描述錯誤的訊息,適用於在使用者介面中顯示。 |
|
| values |
索引鍵/值組的集合,其中包含錯誤的其他詳細數據。 |
BatchErrorDetail
Azure Batch 錯誤回應中包含的其他信息專案。
| 名稱 | 類型 | Description |
|---|---|---|
| key |
string |
指定 Value 屬性意義的識別碼。 |
| value |
string |
錯誤回應隨附的其他資訊。 |
BatchErrorMessage
Azure Batch 錯誤回應中收到的錯誤訊息。
| 名稱 | 類型 | Description |
|---|---|---|
| lang |
string |
錯誤訊息的語言代碼。 |
| value |
string |
訊息的文字。 |
BatchErrorSourceCategory
BatchErrorSourceCategory 的列舉
| 值 | Description |
|---|---|
| usererror |
錯誤是因為使用者問題,例如設定錯誤。 |
| servererror |
錯誤是因為內部伺服器的問題。 |
BatchJobActionKind
BatchJobAction 的枚舉
| 值 | Description |
|---|---|
| none |
不採取任何行動。 |
| disable |
停用該工作。 這相當於呼叫 disable Job API,並以 disableTasks 值為 requeue。 |
| terminate |
終止這份工作。 作業執行資訊中的 terminationReason 設定為「TaskFailed」。 |
BatchNodeIdentityReference
與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。
| 名稱 | 類型 | Description |
|---|---|---|
| resourceId |
string (arm-id) |
使用者指派身分識別的 ARM 資源識別碼。 |
BatchNodeInfo
工作執行所在的計算節點相關信息。
| 名稱 | 類型 | Description |
|---|---|---|
| affinityId |
string |
任務執行節點的識別碼,可在新增任務時傳遞,請求任務排程至此計算節點。 |
| nodeId |
string |
任務執行的計算節點的 ID。 |
| nodeUrl |
string (uri) |
任務執行的計算節點的網址。 |
| poolId |
string |
任務執行的池子編號。 |
| taskRootDirectory |
string |
任務在計算節點上的根目錄。 |
| taskRootDirectoryUrl |
string (uri) |
計算節點上任務根目錄的網址。 |
BatchTask
批次會在節點上觸發復原作業時重試工作。 復原作業的範例包括當狀況不良的節點重新啟動或計算節點因主機失敗而消失時,包括 (但不限於) 。 由於復原作業的重試與 無關,而且不會計入 maxTaskRetryCount。 即使 maxTaskRetryCount 是 0,由於復原作業,可能會發生內部重試。 因此,所有工作都應該是等冪的。 這表示工作必須容許中斷並重新啟動,而不會造成任何損毀或重複的數據。 長時間執行工作的最佳做法是使用某種形式的檢查點。
| 名稱 | 類型 | Description |
|---|---|---|
| affinityInfo |
一個區域性提示,批次服務可用來選擇一個計算節點來啟動新任務。 |
|
| applicationPackageReferences |
批次服務會在執行命令列前部署到運算節點的套件清單。 應用程式套件會被下載並部署到共享目錄,而非任務工作目錄。 因此,如果參考的套件已經在節點上且是最新的,則不會重新下載;使用計算節點上現有的副本。 若無法安裝參考的套件,例如因套件已被刪除或下載失敗,任務即失敗。 |
|
| authenticationTokenSettings |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 若設定此屬性,批次服務會提供任務認證權杖,可用於驗證批次服務操作,無需帳號存取金鑰。 權杖是透過AZ_BATCH_AUTHENTICATION_TOKEN環境變數提供的。 任務能使用該標記執行的操作取決於設定。 例如,任務可以請求工作權限以新增其他任務到該工作,或檢查該工作或工作下其他任務的狀態。 |
|
| commandLine |
string |
任務的指令列。 對於多實例任務,命令列作為主要任務執行,當主要任務及所有子任務完成協調命令列執行後。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對路徑(相對於Task工作目錄),或使用 Batch 提供的環境變數 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。 |
| constraints |
適用於此任務的執行約束。 |
|
| containerSettings |
任務執行容器的設定。 如果執行此任務的池子有 containerConfiguration 設定,也必須設定此設定。 如果執行此任務的池沒有設定 containerConfiguration ,則必須不要設定。 當指定此位置時,所有位於AZ_BATCH_NODE_ROOT_DIR(節點上 Azure Batch 目錄根節點)下方的目錄會遞迴地映射到容器中,所有任務環境變數也映射到容器中,任務命令列則在容器中執行。 容器中產生的檔案可能不會被反映到主機磁碟AZ_BATCH_NODE_ROOT_DIR,導致批次檔案 API 無法存取這些檔案。 |
|
| creationTime |
string (date-time) |
任務的創建時間。 |
| dependsOn |
這項任務所依賴的任務。 此任務在所有依賴任務成功完成後才會排程。 若任何任務失敗且重試次數用盡,該任務將永遠無法排程。 |
|
| displayName |
string |
任務的顯示名稱。 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 |
| eTag |
string |
任務的 ETag。 這是不透明的字串。 你可以用它來偵測任務在不同請求之間是否改變。 特別是,更新任務時可以跳過 ETag,指定只有在沒有人修改任務時,你的變更才會生效。 |
| environmentSettings |
任務的環境變數設定清單。 |
|
| executionInfo |
關於任務執行的資訊。 |
|
| exitConditions |
批次服務在任務完成時應該如何回應。 |
|
| id |
string |
一個字串,唯一識別工作中的任務。 標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 |
| lastModified |
string (date-time) |
任務最後一次修改時間。 |
| multiInstanceSettings |
一個表示該任務為多實例任務的物件,並包含如何執行多實例任務的資訊。 |
|
| nodeInfo |
關於任務執行的計算節點資訊。 |
|
| outputFiles |
批次服務執行命令列後會從計算節點上傳的檔案清單。 對於多實例任務,檔案只會從執行主要任務的計算節點上傳。 |
|
| previousState |
任務的前一個狀態。 若任務處於初始活躍狀態,則此屬性不被設定。 |
|
| previousStateTransitionTime |
string (date-time) |
任務進入先前狀態的時間點。 若任務處於初始活躍狀態,則此屬性不被設定。 |
| requiredSlots |
integer (int32) |
任務需要執行的排程時段數量。 預設值為 1。 任務只有在計算節點有足夠空閒排程槽時才能排程執行。 對於多實例任務,這必須是 1. |
| resourceFiles |
Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 對於多實例任務,資源檔案只會被下載到執行主要任務的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。 |
|
| state |
任務目前的狀態。 |
|
| stateTransitionTime |
string (date-time) |
任務進入目前狀態的時間點。 |
| stats |
任務的資源使用統計。 |
|
| url |
string (uri) |
任務網址。 |
| userIdentity |
任務執行的使用者身份。 若省略,該任務將以非管理員使用者身份執行,且是任務獨一無二的使用者。 |
BatchTaskConstraints
要套用至工作的執行條件約束。
| 名稱 | 類型 | Description |
|---|---|---|
| maxTaskRetryCount |
integer (int32) |
重試工作的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 請注意,這個值特別控制任務執行檔的重試次數,因為退出碼非零。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 若最大重試次數為 0,批次服務在第一次嘗試後不會重試該任務。 如果重試計數上限為 -1,Batch 服務會不限制地重試工作,但不建議用於啟動工作或任何工作。 預設值為 0(沒有重試)。 |
| maxWallClockTime |
string (duration) |
任務可執行的最大經過時間,從任務開始的時間開始計算。 若任務未在時間限制內完成,批次服務會終止該任務。 若未指定,任務時間限制則無時間限制。 |
| retentionTime |
string (duration) |
任務目錄在執行時的計算節點上,從執行完成起的最小保留時間。 在此之後,批次服務可能會刪除任務目錄及其所有內容。 預設為 7 天,也就是說,除非移除運算節點或刪除工作,否則任務目錄會保留 7 天。 |
BatchTaskContainerExecutionInfo
包含工作執行所在的容器相關信息。
| 名稱 | 類型 | Description |
|---|---|---|
| containerId |
string |
貨櫃的識別碼。 |
| error |
string |
關於容器的詳細錯誤資訊。 這是 Docker 服務中詳細的錯誤字串(如果有的話)。 它等同於由「docker inspect」回傳的錯誤欄位。 |
| state |
string |
貨櫃的狀態。 這是根據 Docker 服務所顯示的容器狀態。 它等同於「docker inspect」回傳的狀態欄位。 |
BatchTaskContainerSettings
工作的容器設定。
| 名稱 | 類型 | Description |
|---|---|---|
| containerHostBatchBindMounts |
您要掛接至容器工作的路徑。 如果此陣列為 Null 或不存在,容器工作將會在 Windows 中掛接整個暫存磁碟驅動器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此陣列設定為空白,它就不會將任何數據路徑掛接至容器。 |
|
| containerRunOptions |
string |
容器 create 命令的其他選項。 除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。 |
| imageName |
string |
用來建立任務執行容器的映像。 這是完整的映像參考,正如「docker pull」所指定的。 若圖片名稱中未提供標籤,則預設使用標籤「:latest」。 |
| registry |
包含容器映像檔的私有登錄檔。 若在創建池時已提供此設定,則可省略此設定。 |
|
| workingDirectory |
容器任務工作目錄的位置。 默認值為 『taskWorkingDirectory』。 |
BatchTaskDependencies
指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依性工作。
| 名稱 | 類型 | Description |
|---|---|---|
| taskIdRanges |
該任務所依賴的任務 ID 範圍清單。 所有範圍的任務必須成功完成,才能排程相依任務。 |
|
| taskIds |
string[] |
該任務所依賴的任務 ID 清單。 此清單中的所有任務必須成功完成,才能排程相依任務。 taskIds 集合總長度限制為 64000 字元(即所有任務 ID 的總長度)。 如果 taskIds 集合超過最大長度,新增任務請求會因錯誤代碼 TaskDependencyListTooLong 而失敗。 在這種情況下,可以考慮改用任務識別範圍(Task ID ranges)。 |
BatchTaskExecutionInfo
工作執行的相關信息。
| 名稱 | 類型 | Description |
|---|---|---|
| containerInfo |
關於任務執行容器的資訊。 此屬性僅在任務在容器上下文中執行時被設定。 |
|
| endTime |
string (date-time) |
任務完成的時間。 此屬性僅在任務處於完成狀態時設定。 |
| exitCode |
integer (int32) |
程式的退出碼在任務命令列中指定。 此屬性僅在任務處於完成狀態時設定。 一般而言,程序的退出碼反映應用程式開發者為該程序實作的特定慣例。 如果你用出口代碼值來做決策,務必了解應用程式流程所使用的退出代碼慣例。 然而,如果批次服務因逾時或使用者透過 API 終止任務而終止任務,你可能會看到作業系統定義的退出代碼。 |
| failureInfo |
描述任務失敗的資訊(如有)。 此屬性僅在任務處於完成狀態且遇到失敗時才會設定。 |
|
| lastRequeueTime |
string (date-time) |
該任務最近一次因使用者請求而被批次服務重新排隊的時間點。 此屬性僅在 requeueCount 非零時設定。 |
| lastRetryTime |
string (date-time) |
最近一次開始重試任務的時機。 此元素僅在任務被重試時存在(即 retryCount 非零)。 若有此值,通常與 startTime 相同,但若任務因非重試原因重新啟動,則可能不同;例如,如果計算節點在重試時被重新啟動,則 startTime 會更新,但 lastRetryTime 則不會。 |
| requeueCount |
integer (int32) |
該任務因使用者請求而被批次服務重新排隊的次數。 當使用者從運算節點池中移除(透過調整或縮小池大小)或工作被停用時,使用者可以指定將計算節點上執行的任務重新排隊執行。 此計數記錄任務因上述原因被重新排隊的次數。 |
| result |
任務執行的結果。 如果值為「失敗」,那麼失敗的詳細資料可以在 failureInfo 屬性中找到。 |
|
| retryCount |
integer (int32) |
該任務被批次服務重試的次數。 任務應用程式失敗(非零退出碼)會重試,預處理錯誤(任務無法執行)及檔案上傳錯誤不會重試。 批次服務會在約束條件限制範圍內重試任務。 |
| startTime |
string (date-time) |
任務開始的時間點。 「運行中」對應於執行狀態,因此如果任務指定資源檔案或套件,啟動時間則反映任務開始下載或部署這些資料的時間。 如果任務已被重新啟動或重試,則該任務最近一次開始執行的時間點。 此屬性僅適用於正在執行或已完成狀態的任務。 |
BatchTaskExecutionResult
BatchTaskExecutionResult 的枚舉
| 值 | Description |
|---|---|
| success |
任務順利進行。 |
| failure |
任務處理過程中發生錯誤。 故障可能發生在任務程序啟動前、執行中,或任務程序退出後。 |
BatchTaskFailureInfo
工作失敗的相關信息。
| 名稱 | 類型 | Description |
|---|---|---|
| category |
任務錯誤的類別。 |
|
| code |
string |
任務錯誤的識別碼。 程序代碼是不變的,而且是要以程序設計方式取用。 |
| details |
與錯誤相關的額外細節清單。 |
|
| message |
string |
一則描述任務錯誤的訊息,旨在用於使用者介面顯示。 |
BatchTaskIdRange
範圍的開始和結尾是內含的。 例如,如果範圍有 9 開始和結束 12,則它代表工作 '9'、'10'、'11' 和 '12'。
| 名稱 | 類型 | Description |
|---|---|---|
| end |
integer (int32) |
範圍內最後一個任務ID。 |
| start |
integer (int32) |
這是該範圍內的第一個任務ID。 |
BatchTaskState
BatchTaskState 枚舉
| 值 | Description |
|---|---|
| active |
任務已排隊並可執行,但目前尚未被指派至運算節點。 任務在建立時、停用後啟用,或在執行失敗後等待重試時進入此狀態。 |
| preparing |
該任務已被指派到計算節點,但正在等待計算節點上完成所需的工作準備任務。 如果工作準備任務成功,任務將進入執行階段。 若工作準備任務失敗,該任務將恢復為啟用狀態,並有資格分配至其他計算節點。 |
| running |
任務是在計算節點上執行。 這包括任務層級的準備,例如下載資源檔案或部署任務指定的套件——這不一定代表任務命令列已經開始執行。 |
| completed |
任務不再有資格執行,通常是因為任務已成功完成,或任務未完成且已用盡重試限制。 若任務啟動時發生錯誤,或任務已被終止,任務也會被標記為已完成。 |
BatchTaskStatistics
任務的資源使用量統計數據。
| 名稱 | 類型 | Description |
|---|---|---|
| kernelCPUTime |
string (duration) |
任務所消耗的核心模式 CPU 總時間(涵蓋所有核心與所有運算節點)。 |
| lastUpdateTime |
string (date-time) |
統計數據最後更新的時間。 所有統計資料都限制在 startTime 到 lastUpdateTime 之間的範圍。 |
| readIOGiB |
number (float) |
任務從磁碟讀取的總 gibibytes。 |
| readIOps |
string (int64) |
任務所完成的磁碟讀取操作總數。 |
| startTime |
string (date-time) |
統計數據涵蓋的時間範圍的開始時間。 |
| url |
string (uri) |
統計數據的網址。 |
| userCPUTime |
string (duration) |
任務所消耗的使用者模式 CPU 總時間(涵蓋所有核心與所有計算節點)。 |
| waitTime |
string (duration) |
任務的總等待時間。 任務的等待時間定義為從任務建立到執行開始之間的時間。 (若任務因失敗而重試,等待時間即為最近一次任務執行的時間。) |
| wallClockTime |
string (duration) |
任務的總壁鐘時間。 牆鐘時間是指從任務開始在運算節點執行到結束(或如果任務尚未完成統計資料最後更新時間)的經過時間。 如果任務被重試,這也包括所有任務重試的牆上時鐘時間。 |
| writeIOGiB |
number (float) |
任務寫入磁碟的總 gibibytes。 |
| writeIOps |
string (int64) |
任務所完成的磁碟寫入操作總數。 |
ContainerHostBatchBindMountEntry
您想要掛接至工作容器的路徑和掛接模式專案。
| 名稱 | 類型 | Description |
|---|---|---|
| isReadOnly |
boolean |
將此來源路徑掛接為唯讀模式或否。 默認值為 false (讀取/寫入模式)。 針對 Linux,如果您將此路徑掛接為讀取/寫入模式,這並不表示容器中的所有使用者都有路徑的讀取/寫入存取權,這取決於主機 VM 中的存取權。 如果此路徑是只讀掛接,容器內的所有使用者將無法修改路徑。 |
| source |
掛接至容器客戶的路徑可以選取。 |
ContainerHostDataPath
要掛接至容器工作容器的路徑。
| 值 | Description |
|---|---|
| Shared |
要共用其檔案之多重實例工作的路徑。 |
| Startup |
開始工作的路徑。 |
| VfsMounts |
路徑包含此節點上掛接的所有虛擬檔案系統。 |
| Task |
工作路徑。 |
| JobPrep |
作業準備工作路徑。 |
| Applications |
應用程式路徑。 |
ContainerRegistryReference
私人容器登錄。
| 名稱 | 類型 | Description |
|---|---|---|
| identityReference |
使用者指派身分識別的參考,用來存取 Azure Container Registry,而不是使用者名稱和密碼。 |
|
| password |
string (password) |
登入登錄伺服器的密碼。 |
| registryServer |
string (uri) |
登錄 URL。 如果省略,預設值為 「docker.io」。。 |
| username |
string |
要登入登錄伺服器的用戶名稱。 |
ContainerWorkingDirectory
ContainerWorkingDirectory 枚舉
| 值 | Description |
|---|---|
| taskWorkingDirectory |
使用標準的批次服務任務工作目錄,該目錄會包含由批次填充的任務資源檔案。 |
| containerImageDefault |
請使用容器 Image 中定義的工作目錄。 請注意,此目錄不會包含批次下載的資源檔案。 |
DependencyAction
DependencyAction 枚舉
| 值 | Description |
|---|---|
| satisfy |
滿足等待此任務的任務;當所有相依關係都被滿足後,任務就會被排程執行。 |
| block |
阻擋等待該任務的任務,阻止它們被排程。 |
ElevationLevel
高程層列舉
| 值 | Description |
|---|---|
| nonadmin |
使用者是標準使用者,沒有提升許可權的存取權。 |
| admin |
使用者是具有較高存取權的使用者,且會以完整的系統管理員許可權運作。 |
EnvironmentSetting
要設定於工作進程的環境變數。
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
環境變數的名稱。 |
| value |
string |
環境變數的值。 |
ExitCodeMapping
如果工作以特定結束代碼結束,Batch 服務應該如何回應。
| 名稱 | 類型 | Description |
|---|---|---|
| code |
integer (int32) |
一個程序退出代碼。 |
| exitOptions |
如果任務以這個退出碼退出,批次服務應該如何回應。 |
ExitCodeRangeMapping
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。
| 名稱 | 類型 | Description |
|---|---|---|
| end |
integer (int32) |
範圍內最後一個出口代碼。 |
| exitOptions |
如果任務結束時的退出代碼在開始到結束範圍內(包含),批次服務應該如何回應。 |
|
| start |
integer (int32) |
範圍裡的第一個出口代碼。 |
ExitConditions
指定 Batch 服務在工作完成時應該如何回應。
| 名稱 | 類型 | Description |
|---|---|---|
| default |
如果任務失敗且出現其他屬性未涵蓋的退出條件,批次服務應該如何回應。 當任務結束時,任何非零的退出代碼未列入 exitCodes 或 exitCodeRanges 集合;若不存在 preProcessingError 屬性,則會發生預處理錯誤;若沒有 fileUploadError 屬性,則會發生檔案上傳錯誤。 如果你想讓退出代碼 0 有非預設行為,必須用 exitCodes 或 exitCodeRanges 集合明確列出它。 |
|
| exitCodeRanges |
任務退出代碼範圍清單,以及批次服務應該如何回應這些代碼。 |
|
| exitCodes |
一份個別任務的退出代碼清單,以及批次服務應該如何回應這些代碼。 |
|
| fileUploadError |
批次服務在檔案上傳錯誤發生時應該如何回應。 如果任務以 exitCodes 或 exitCodeRange 指定的退出代碼退出,且遇到檔案上傳錯誤,則退出代碼指定的動作將優先執行。 |
|
| preProcessingError |
如果任務因錯誤無法啟動,批次服務應該如何回應。 |
ExitOptions
指定 Batch 服務如何回應特定結束條件。
| 名稱 | 類型 | Description |
|---|---|---|
| dependencyAction |
批次服務對依賴該任務的任務執行的動作。 可能的值有「滿足」(允許依賴任務繼續)和「阻擋」(依賴任務繼續等待)。 批次目前尚未支援取消相依任務。 |
|
| jobAction |
若該任務以給定的退出條件完成,且該工作 onTaskFailed 屬性為「performExitOptionsJobAction」,則該動作需對包含該任務的作業執行。 出口代碼 0 預設為 NO,其他退出條件則為 TERMINATE。 若作業的 onTaskFailed 屬性為 noaction,則指定此屬性會回傳錯誤,新增任務請求會以無效屬性值錯誤失敗;如果你直接呼叫 REST API,HTTP 狀態碼是 400(錯誤請求)。 |
MultiInstanceSettings
多重實例工作通常用於支援 MPI 工作。 在 MPI 案例中,如果任一子工作失敗(例如,由於以非零結束代碼結束),則整個多重實例工作會失敗。 然後,多實例工作會終止並重試,達到其重試限制。
| 名稱 | 類型 | Description |
|---|---|---|
| commonResourceFiles |
批次服務會在執行協調命令列前下載的檔案清單。 共用資源檔案與任務資源檔案的差異在於,所有子任務(包括主任務)都會下載共用資源檔案,而任務資源檔案則僅下載給主要任務。 另外請注意,這些資源檔案並不會被下載到工作目錄,而是下載到任務根目錄(工作目錄上方的一檔)。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。 |
|
| coordinationCommandLine |
string |
指令列可在所有計算節點上執行,讓它們能協調主節點執行主要任務指令。 典型的協調命令列會啟動背景服務並驗證該服務已準備好處理節點間訊息。 |
| numberOfInstances |
integer (int32) |
任務所需的計算節點數量。 若省略,預設值為 1。 |
NameValuePair
表示名稱/值組。
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
名稱與值對中的名字。 |
| value |
string |
名稱與值對中的值。 |
OutputFile
在每個檔案上傳上,Batch 服務會將兩個記錄檔寫入計算節點 'fileuploadout.txt' 和 'fileuploaderr.txt'。 這些記錄檔可用來深入瞭解特定失敗。
| 名稱 | 類型 | Description |
|---|---|---|
| destination |
輸出檔案的目的地。 |
|
| filePattern |
string |
一個指示要上傳哪些檔案的模式。 同時支援相對路徑與絕對路徑。 相對路徑是相對於任務工作目錄的。 支援以下萬用字元:* 匹配 0 個或多個字元(例如 pattern abc* 會匹配 abc 或 abcdef),** 匹配任意目錄,? 匹配任意單一字元,[abc] 匹配括號中的一個字元,[a-c] 匹配範圍中的一個字元。 括號中可以包含一個否定,以匹配任何未指定的字元(例如 [!abc] 可以匹配除 a、b 或 c 以外的任何字元)。 如果檔名以「.」開頭,預設會忽略,但可透過明確指定來匹配(例如 .gif 不會匹配 .a.gif,但 。.gif 會)。 一個簡單的例子:***.txt 匹配任務工作目錄中任何不以 '.' 開頭且以 .txt 結尾的檔案,或任何子目錄。 如果檔名包含萬用字元,可以用括號來避開(例如 abc[] 會對應一個名為 abc 的檔案)。 請注意,在 Windows 上 \ 和 / 都被視為目錄分隔符,但在 Linux 上只有 / 是。 環境變數(Windows 上的%var% 或 Linux 上的 $var)會在套用模式前展開。 |
| uploadOptions |
上傳操作的額外選項,包括在何種情況下進行上傳。 |
OutputFileBlobContainerDestination
指定 Azure Blob 記憶體容器內的檔案上傳目的地。
| 名稱 | 類型 | Description |
|---|---|---|
| containerUrl |
string (uri) |
Azure Blob 儲存容器中要上傳檔案的容器網址。 若未使用管理身份,URL 必須包含共享存取簽章(SAS)以授予容器寫入權限。 |
| identityReference |
這是用來存取 Azure Blob Storage 的使用者指派身份的參考,該身份由 containerUrl 指定。 身份必須有寫入 Azure Blob Storage 容器的權限。 |
|
| path |
string |
Azure Storage 容器中的目的地 blob 或虛擬目錄。 如果 filePattern 指的是特定檔案(即沒有萬用字元),那麼 path 就是要上傳該檔案的 blob 名稱。 如果 filePattern 包含一個或多個通行字元(因此可能匹配多個檔案),則 path 是 blob 虛擬目錄的名稱(每個 blob 名稱前加),用來上傳檔案。 若省略,檔案會上傳到容器根節點,並附有與其檔案名稱相符的 blob 名稱。 |
| uploadHeaders |
一份用於上傳輸出檔案的標頭名稱與值對清單。 這些標頭會在上傳到 Azure Storage 時指定。 關於上傳 blob 時允許標頭的官方文件: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types。 |
OutputFileDestination
檔案應該上傳至其中的目的地。
| 名稱 | 類型 | Description |
|---|---|---|
| container |
Azure blob 儲存中檔案上傳的位置。 |
OutputFileUploadCondition
OutputFileUploadCondition 枚舉
| 值 | Description |
|---|---|
| tasksuccess |
只有在任務程序結束後,且退出代碼為 0 後才上傳檔案。 |
| taskfailure |
只有在任務程序結束並使用非零退出碼後,才上傳檔案。 |
| taskcompletion |
任務程序結束後上傳檔案,不管退出代碼是什麼。 |
OutputFileUploadConfig
輸出檔案上傳作業的選項,包括執行上傳的條件。
| 名稱 | 類型 | Description |
|---|---|---|
| uploadCondition |
任務輸出檔案或一組檔案應在何種條件下上傳。 預設是任務完成。 |
OutputFileUploadHeader
HTTP 標頭名稱/值組
| 名稱 | 類型 | Description |
|---|---|---|
| name |
string |
上傳輸出檔案時,標頭名稱不區分大小寫。 |
| value |
string |
上傳輸出檔案時要使用的標頭值。 |
ResourceFile
要下載至計算節點的單一檔案或多個檔案。
| 名稱 | 類型 | Description |
|---|---|---|
| autoStorageContainerName |
string |
自動儲存帳戶中的儲存容器名稱。 autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 |
| blobPrefix |
string |
從 Azure 記憶體容器下載 Blob 時要使用的 Blob 前置詞。 只會下載名稱開頭為指定前置詞的 Blob。 只有在使用 autoStorageContainerName 或 storageContainerUrl 時,屬性才有效。 此前置詞可以是部分檔名或子目錄。 如果未指定前置詞,則會下載容器中的所有檔案。 |
| fileMode |
string |
以八進位格式的檔案許可權模式屬性。 此特性僅適用於下載至 Linux 運算節點的檔案。 如果是為 resourceFile 指定,該檔案會被下載到 Windows 運算節點,則會被忽略。 若 Linux 運算節點未指定此屬性,則預設值為 0770。 |
| filePath |
string |
相對於任務工作目錄,在計算節點上下載檔案的位置。 如果指定 HTTPUrl 屬性,則需要 filePath,並描述將下載檔案的路徑,包括檔名。 否則,如果指定 autoStorageContainerName 或 storageContainerUrl 屬性,則 filePath 是選擇性的,而且是要下載檔案的目錄。 在 filePath 當做目錄使用的情況下,任何已經與輸入數據相關聯的目錄結構都會完整保留,並附加至指定的 filePath 目錄。 指定的相對路徑不能從任務的工作目錄中跳出(例如使用「..」)。 |
| httpUrl |
string (uri) |
要下載之檔案的 URL。 autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 如果 URL 指向 Azure Blob 記憶體,則必須從計算節點讀取它。 在 Azure 記憶體中取得 Blob 的這類 URL 有三種方式:包括授與 Blob 讀取許可權的共用存取簽章(SAS),使用具有讀取許可權的受控識別,或設定 Blob 或其容器的 ACL 以允許公用存取。 |
| identityReference |
這是用來存取 Azure Blob 儲存裝置的使用者指定身份的參考,該身份由 storageContainerUrl 或 httpURL 指定。 |
|
| storageContainerUrl |
string (uri) |
Azure Blob 記憶體中 Blob 容器的 URL。 autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,其中一個必須指定。 此 URL 必須可從計算節點讀取和列出。 有三種方式可以取得 Azure 記憶體中容器的這類 URL:包括授與容器讀取和清單許可權的共用存取簽章(SAS),使用具有讀取和清單許可權的受控識別,或為容器設定 ACL 以允許公用存取。 |
UserIdentity
執行工作的使用者身分識別定義。 指定userName或 autoUser 屬性,但不能同時指定兩者。
| 名稱 | 類型 | Description |
|---|---|---|
| autoUser |
執行任務的自動使用者。 userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 |
|
| username |
string |
任務執行時所使用的使用者身份名稱。 userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。 |