Task - Add Collection
將 Tasks 的集合加入至指定的作業。
請注意,每個工作都必須有唯一標識符。 Batch 服務可能不會以與在此要求中提交工作相同的順序傳回每個工作的結果。 如果伺服器逾時或在要求期間關閉連線,則要求可能已部分或完全處理,或完全未處理。 在這種情況下,使用者應該重新發出要求。 請注意,重新發出要求時,由使用者正確處理失敗。 例如,您應該在重試期間使用相同的工作標識符,如此一來,如果先前的作業成功,重試就不會意外建立額外的工作。 如果回應包含任何無法新增的工作,用戶端可以重試要求。 在重試中,只重新提交無法新增的工作,以及省略第一次嘗試成功新增的工作是最有效率的。 除了完成之外,任務的最大存留期為180天。 如果工作在 180 天內尚未完成,Batch 服務將會終止,並保留在當時的狀態。
POST {batchUrl}/jobs/{jobId}/addtaskcollection?api-version=2023-11-01.18.0
POST {batchUrl}/jobs/{jobId}/addtaskcollection?timeout={timeout}&api-version=2023-11-01.18.0
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
batch
|
path | True |
string |
所有 Azure Batch 服務要求的基底 URL。 |
job
|
path | True |
string |
要加入Task集合之Job的標識碼。 |
api-version
|
query | True |
string |
用戶端 API 版本。 |
timeout
|
query |
integer int32 |
伺服器可以花費在處理要求的最大時間,以秒為單位。 預設值為 30 秒。 |
要求標頭
Media Types: "application/json; odata=minimalmetadata"
名稱 | 必要 | 類型 | Description |
---|---|---|---|
client-request-id |
string uuid |
呼叫端產生的要求識別,格式為不含大括弧的 GUID,例如大括弧,例如 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0。 |
|
return-client-request-id |
boolean |
伺服器是否應該在回應中傳回 client-request-id。 |
|
ocp-date |
string date-time-rfc1123 |
發出要求的時間。 用戶端連結庫通常會將此設定為目前的系統時鐘時間;如果您要直接呼叫 REST API,請明確設定它。 |
要求本文
Media Types: "application/json; odata=minimalmetadata"
名稱 | 必要 | 類型 | Description |
---|---|---|---|
value | True |
要加入之 Tasks 的集合。 工作的最大計數為 100。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
回應,包含加入 Task 集合作業的結果。 Headers
|
|
Other Status Codes |
未預期的錯誤 |
安全性
azure_auth
Microsoft Entra OAuth 2.0 驗證碼流程
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
Authorization
Type:
apiKey
In:
header
範例
Add a basic collection of tasks |
Add a complex collection of tasks |
Add a basic collection of tasks
Sample Request
POST account.region.batch.azure.com/jobs/jobId/addtaskcollection?api-version=2023-11-01.18.0
{
"value": [
{
"id": "simple1",
"commandLine": "cmd /c dir /s"
},
{
"id": "simple2",
"commandLine": "cmd /c dir /s"
}
]
}
Sample Response
{
"value": [
{
"status": "success",
"taskId": "simple1",
"eTag": "0x8D3D623CD661246",
"lastModified": "2016-09-06T07:02:44.7589958Z",
"location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1"
},
{
"status": "success",
"taskId": "simple2",
"eTag": "0x8D3D623CD7072CC",
"lastModified": "2016-09-06T07:02:44.8270028Z",
"location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2"
}
]
}
Add a complex collection of tasks
Sample Request
POST account.region.batch.azure.com/jobs/jobId/addtaskcollection?api-version=2023-11-01.18.0
{
"value": [
{
"id": "complex1",
"commandLine": "cmd /c dir /s",
"resourceFiles": [
{
"autoStorageContainerName": "containerName",
"filePath": "data"
}
],
"environmentSettings": [
{
"name": "env1",
"value": "value1"
},
{
"name": "env2",
"value": "value2"
}
],
"affinityInfo": {
"affinityId": "affinityId"
},
"constraints": {
"maxWallClockTime": "P1D",
"retentionTime": "P2D",
"maxTaskRetryCount": 5
},
"requiredSlots": 2,
"multiInstanceSettings": {
"numberOfInstances": 3,
"coordinationCommandLine": "cmd /c echo coordinating",
"commonResourceFiles": [
{
"httpUrl": "https://common.blob.core.windows.net/",
"filePath": "common.exe"
}
]
}
},
{
"id": "simple3",
"commandLine": "cmd /c dir /s"
}
]
}
Sample Response
{
"value": [
{
"taskId": "simple3",
"status": "success",
"eTag": "0x8D3D623CE295629",
"lastModified": "2016-09-06T07:02:46.0386857Z",
"location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3"
},
{
"taskId": "complex1",
"status": "success",
"eTag": "0x8D3D623CE29A412",
"lastModified": "2016-09-06T07:02:46.0406802Z",
"location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1"
}
]
}
定義
名稱 | Description |
---|---|
Access |
令牌授與存取權的 Batch 資源。 |
Affinity |
Batch 服務可用來選取要啟動工作的計算節點的地區提示。 |
Application |
要部署到計算節點之封裝的參考。 |
Authentication |
工作可用來執行 Batch 服務作業的驗證令牌設定。 |
Auto |
自動用戶的範圍 |
Auto |
指定在 Batch 服務上執行工作之自動用戶的參數。 |
Batch |
從 Azure Batch 服務收到的錯誤回應。 |
Batch |
Azure Batch 錯誤回應中包含的其他信息專案。 |
Compute |
與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。 |
Container |
私人容器登錄。 |
Container |
容器Task工作目錄的位置。 |
Dependency |
Batch 服務在相依於此工作的工作上執行的動作。 |
Elevation |
使用者的提高許可權層級。 |
Environment |
要設定於工作進程的環境變數。 |
Error |
在 Azure Batch 錯誤回應中收到的錯誤訊息。 |
Exit |
如果Task以特定的結束代碼結束,Batch服務應該如何回應。 |
Exit |
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。 |
Exit |
指定Task完成時 Batch 服務應該如何回應。 |
Exit |
指定 Batch 服務如何回應特定的結束條件。 |
Http |
HTTP 標頭名稱/值組 |
Job |
如果 Task 以指定的結束條件完成且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含 Task 的作業採取動作。 |
Multi |
指定如何執行多重實例工作的設定。 |
Output |
在 Batch 服務完成工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。 |
Output |
指定 Azure Blob 記憶體容器內的檔案上傳目的地。 |
Output |
檔案應該上傳至其中的目的地。 |
Output |
工作輸出檔案或一組檔案應該上傳的條件。 |
Output |
輸出檔案上傳作業的詳細數據,包括執行上傳的條件。 |
Resource |
要下載至計算節點的單一檔案或多個檔案。 |
Task |
要加入的 Azure Batch Tasks 集合。 |
Task |
將Tasks集合新增至作業的結果。 |
Task |
要加入 Azure Batch 工作。 |
Task |
新增工作集合作業時新增單一任務的結果。 |
Task |
新增工作要求的狀態。 |
Task |
要套用至工作的執行條件約束。 |
Task |
Task 的容器設定。 |
Task |
指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依任務。 |
Task |
工作可以相依的工作標識碼範圍。 範圍中標識碼的所有工作都必須順利完成,才能排程相依的工作。 |
User |
執行工作的使用者身分識別定義。 |
AccessScope
令牌授與存取權的 Batch 資源。
名稱 | 類型 | Description |
---|---|---|
job |
string |
授與存取權,以在包含工作的作業上執行所有作業。 |
AffinityInformation
Batch 服務可用來選取要啟動工作的計算節點的地區提示。
名稱 | 類型 | Description |
---|---|---|
affinityId |
string |
不透明字串,代表先前執行之計算節點或工作的位置。 |
ApplicationPackageReference
要部署到計算節點之封裝的參考。
名稱 | 類型 | Description |
---|---|---|
applicationId |
string |
要部署之應用程式的標識碼。 |
version |
string |
要部署的應用程式版本。 如果省略,則會部署預設版本。 |
AuthenticationTokenSettings
工作可用來執行 Batch 服務作業的驗證令牌設定。
名稱 | 類型 | Description |
---|---|---|
access |
令牌授與存取權的 Batch 資源。 |
AutoUserScope
自動用戶的範圍
名稱 | 類型 | Description |
---|---|---|
pool |
string |
指定工作會以在集區中的每個計算節點上建立的一般自動使用者帳戶執行。 |
task |
string |
指定服務應該為工作建立新的使用者。 |
AutoUserSpecification
指定在 Batch 服務上執行工作之自動用戶的參數。
名稱 | 類型 | Description |
---|---|---|
elevationLevel |
自動使用者的提高許可權層級。 |
|
scope |
自動用戶的範圍 |
BatchError
從 Azure Batch 服務收到的錯誤回應。
名稱 | 類型 | Description |
---|---|---|
code |
string |
錯誤的識別碼。 程式碼不變,且要以程式設計方式使用。 |
message |
描述錯誤的訊息,適用於在使用者介面中顯示。 |
|
values |
索引鍵/值組的集合,其中包含錯誤的其他詳細數據。 |
BatchErrorDetail
Azure Batch 錯誤回應中包含的其他信息專案。
名稱 | 類型 | Description |
---|---|---|
key |
string |
指定 Value 屬性意義的識別碼。 |
value |
string |
錯誤回應中包含的其他資訊。 |
ComputeNodeIdentityReference
與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。
名稱 | 類型 | Description |
---|---|---|
resourceId |
string |
使用者指派身分識別的 ARM 資源識別碼。 |
ContainerRegistry
私人容器登錄。
名稱 | 類型 | Description |
---|---|---|
identityReference |
用來存取 Azure Container Registry 而非使用者名稱和密碼的使用者指派身分識別參考。 |
|
password |
string |
登入登錄伺服器的密碼。 |
registryServer |
string |
登錄 URL。 |
username |
string |
要登入登錄伺服器的用戶名稱。 |
ContainerWorkingDirectory
容器Task工作目錄的位置。
名稱 | 類型 | Description |
---|---|---|
containerImageDefault |
string |
使用容器映像中定義的工作目錄。 請注意,此目錄不會包含 Batch 下載的資源檔。 |
taskWorkingDirectory |
string |
使用標準 Batch 服務工作工作目錄,其中包含 Batch 填入的工作資源檔。 |
DependencyAction
Batch 服務在相依於此工作的工作上執行的動作。
名稱 | 類型 | Description |
---|---|---|
block |
string |
封鎖等候這項工作的工作,以防止排程工作。 |
satisfy |
string |
滿足等候這項工作的工作;一旦滿足所有相依性,工作就會排程執行。 |
ElevationLevel
使用者的提高許可權層級。
名稱 | 類型 | Description |
---|---|---|
admin |
string |
使用者是具有較高存取權且以完整系統管理員許可權運作的使用者。 |
nonadmin |
string |
用戶是沒有提高存取權的標準使用者。 |
EnvironmentSetting
要設定於工作進程的環境變數。
名稱 | 類型 | Description |
---|---|---|
name |
string |
環境變數的名稱。 |
value |
string |
環境變數的值。 |
ErrorMessage
在 Azure Batch 錯誤回應中收到的錯誤訊息。
名稱 | 類型 | Description |
---|---|---|
lang |
string |
錯誤訊息的語言代碼 |
value |
string |
訊息的文字。 |
ExitCodeMapping
如果Task以特定的結束代碼結束,Batch服務應該如何回應。
名稱 | 類型 | Description |
---|---|---|
code |
integer |
進程結束代碼。 |
exitOptions |
如果Task以這個結束代碼結束,Batch服務應該如何回應。 |
ExitCodeRangeMapping
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。
名稱 | 類型 | Description |
---|---|---|
end |
integer |
範圍中的最後一個結束代碼。 |
exitOptions |
如果 Task 結束且範圍中的結束代碼開始到結尾,則 Batch 服務應該如何回應 (內含) 。 |
|
start |
integer |
範圍中的第一個結束代碼。 |
ExitConditions
指定Task完成時 Batch 服務應該如何回應。
名稱 | 類型 | Description |
---|---|---|
default |
如果工作失敗,且其他任何屬性未涵蓋的結束條件,Batch 服務應該如何回應。 |
|
exitCodeRanges |
工作結束代碼範圍的清單,以及 Batch 服務應如何回應它們。 |
|
exitCodes |
個別工作結束代碼的清單,以及 Batch 服務應如何回應它們。 |
|
fileUploadError |
如果發生檔案上傳錯誤,Batch 服務應該如何回應。 |
|
preProcessingError |
如果工作因錯誤而無法啟動,Batch 服務應該如何回應。 |
ExitOptions
指定 Batch 服務如何回應特定的結束條件。
名稱 | 類型 | Description |
---|---|---|
dependencyAction |
Batch 服務在相依於此工作的工作上執行的動作。 |
|
jobAction |
如果 Task 以指定的結束條件完成且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含 Task 的作業採取動作。 |
HttpHeader
HTTP 標頭名稱/值組
名稱 | 類型 | Description |
---|---|---|
name |
string |
上傳輸出檔案時要使用的標頭不區分大小寫名稱 |
value |
string |
上傳輸出檔案時要使用的標頭值 |
JobAction
如果 Task 以指定的結束條件完成且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含 Task 的作業採取動作。
名稱 | 類型 | Description |
---|---|---|
disable |
string |
停用作業。 這相當於呼叫 disable Job API,並具有 disableTasks 值重新排入佇列。 |
none |
string |
不採取任何動作。 |
terminate |
string |
終止作業。 Job 執行Info 中的 terminateReason 會設定為 “TaskFailed”。 |
MultiInstanceSettings
指定如何執行多重實例工作的設定。
名稱 | 類型 | Description |
---|---|---|
commonResourceFiles |
Batch 服務在執行協調命令行之前會下載的檔案清單。 |
|
coordinationCommandLine |
string |
要在所有計算節點上執行的命令行,以在主要執行Task命令時進行協調。 |
numberOfInstances |
integer |
工作所需的計算節點數目。 |
OutputFile
在 Batch 服務完成工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。
名稱 | 類型 | Description |
---|---|---|
destination |
輸出檔的目的地 (s) 。 |
|
filePattern |
string |
模式,指出要上傳的檔案 () 。 |
uploadOptions |
上傳作業的其他選項,包括執行上傳的條件。 |
OutputFileBlobContainerDestination
指定 Azure Blob 記憶體容器內的檔案上傳目的地。
名稱 | 類型 | Description |
---|---|---|
containerUrl |
string |
要上傳檔案 () Azure Blob 儲存體 內的容器 URL。 |
identityReference |
用來存取 containerUrl 所指定 Azure Blob 儲存體 的使用者指派身分識別參考 |
|
path |
string |
Azure 記憶體容器內的目的地 Blob 或虛擬目錄。 |
uploadHeaders |
用於上傳輸出檔案中標頭的名稱/值組清單 |
OutputFileDestination
檔案應該上傳至其中的目的地。
名稱 | 類型 | Description |
---|---|---|
container |
Azure Blob 記憶體中上傳檔案的位置。 |
OutputFileUploadCondition
工作輸出檔案或一組檔案應該上傳的條件。
名稱 | 類型 | Description |
---|---|---|
taskcompletion |
string |
不論結束代碼為何, (工作程序結束之後上傳檔案) 。 |
taskfailure |
string |
只有在工作進程結束且具有非零結束代碼之後,才 (檔案上傳) 。 |
tasksuccess |
string |
只有在工作程序結束且結束代碼為 0 之後,才 (檔案上傳) 。 |
OutputFileUploadOptions
輸出檔案上傳作業的詳細數據,包括執行上傳的條件。
名稱 | 類型 | Description |
---|---|---|
uploadCondition |
工作輸出檔案或一組檔案應該上傳的條件。 |
ResourceFile
要下載至計算節點的單一檔案或多個檔案。
名稱 | 類型 | Description |
---|---|---|
autoStorageContainerName |
string |
自動記憶體帳戶中的記憶體容器名稱。 |
blobPrefix |
string |
從 Azure 記憶體容器下載 Blob 時要使用的 Blob 前置詞。 只會下載名稱開頭為指定前置詞的 Blob。 |
fileMode |
string |
八進位格式的檔案許可權模式屬性。 |
filePath |
string |
相對於工作的工作目錄,下載檔案 () 的計算節點上的位置。 |
httpUrl |
string |
要下載的檔案 URL。 |
identityReference |
使用者指派身分識別的參考,用來存取 storageContainerUrl 或 HTTPUrl 所指定的 Azure Blob 儲存體 |
|
storageContainerUrl |
string |
Azure Blob 儲存體 內的 Blob 容器 URL。 |
TaskAddCollectionParameter
要加入的 Azure Batch Tasks 集合。
名稱 | 類型 | Description |
---|---|---|
value |
要加入之 Tasks 的集合。 工作的最大計數為 100。 |
TaskAddCollectionResult
將Tasks集合新增至作業的結果。
名稱 | 類型 | Description |
---|---|---|
value |
加入Task集合作業的結果。 |
TaskAddParameter
要加入 Azure Batch 工作。
名稱 | 類型 | Description |
---|---|---|
affinityInfo |
Batch 服務可用來選取要啟動新工作的計算節點的區域提示。 |
|
applicationPackageReferences |
Batch 服務在執行命令行之前將部署到計算節點的套件清單。 |
|
authenticationTokenSettings |
工作可用來執行 Batch 服務作業的驗證令牌設定。 |
|
commandLine |
string |
Task 的命令行。 |
constraints |
套用至此工作的執行條件約束。 |
|
containerSettings |
工作執行所在容器的設定。 |
|
dependsOn |
此工作相依的工作。 |
|
displayName |
string |
工作的顯示名稱。 |
environmentSettings |
Task 的環境變數設定清單。 |
|
exitConditions |
指定Task完成時 Batch 服務應該如何回應。 |
|
id |
string |
可唯一識別作業內工作的字串。 |
multiInstanceSettings |
物件,指出Task是多重實例Task,並包含如何執行多重實例工作的資訊。 |
|
outputFiles |
執行命令行之後,Batch 服務將從計算節點上傳的檔案清單。 |
|
requiredSlots |
integer |
工作執行所需的排程位置數目。 |
resourceFiles |
Batch 服務在執行命令行之前會下載到計算節點的檔案清單。 |
|
userIdentity |
工作執行所在的使用者身分識別。 |
TaskAddResult
新增工作集合作業時新增單一任務的結果。
名稱 | 類型 | Description |
---|---|---|
eTag |
string |
如果已成功新增 Task 的 ETag,則為 Task 的 ETag。 |
error |
嘗試新增工作時發生錯誤。 |
|
lastModified |
string |
任務的最後一次修改時間。 |
location |
string |
如果已成功新增任務,則為Task的URL。 |
status |
新增工作要求的狀態。 |
|
taskId |
string |
這是結果的工作標識碼。 |
TaskAddStatus
新增工作要求的狀態。
名稱 | 類型 | Description |
---|---|---|
clienterror |
string |
工作因客戶端錯誤而無法新增,且不應在適當的情況下修改要求而重試。 |
servererror |
string |
工作因為伺服器錯誤而無法新增,而且可以在不修改的情況下重試。 |
success |
string |
已成功新增工作。 |
TaskConstraints
要套用至工作的執行條件約束。
名稱 | 類型 | Description |
---|---|---|
maxTaskRetryCount |
integer |
工作可能會重試的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 |
maxWallClockTime |
string |
任務可能執行的最大經過時間,從工作開始的時間開始測量。 如果工作未在時間限制內完成,Batch 服務就會終止它。 |
retentionTime |
string |
從執行完成時,在計算節點上保留工作目錄的最小時間。 此時,Batch 服務可能會刪除Task目錄及其所有內容。 |
TaskContainerSettings
Task 的容器設定。
名稱 | 類型 | Description |
---|---|---|
containerRunOptions |
string |
容器 create 命令的其他選項。 |
imageName |
string |
要用來建立工作執行所在容器的映像。 |
registry |
包含容器映像的私人登錄。 |
|
workingDirectory |
容器Task工作目錄的位置。 |
TaskDependencies
指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依任務。
名稱 | 類型 | Description |
---|---|---|
taskIdRanges |
此任務相依的工作識別碼範圍清單。 所有範圍中的所有工作都必須順利完成,才能排程相依的工作。 |
|
taskIds |
string[] |
此工作相依的工作標識碼清單。 此清單中的所有工作都必須順利完成,才能排程相依的工作。 |
TaskIdRange
工作可以相依的工作標識碼範圍。 範圍中標識碼的所有工作都必須順利完成,才能排程相依的工作。
名稱 | 類型 | Description |
---|---|---|
end |
integer |
範圍中的最後一個任務識別碼。 |
start |
integer |
範圍中的第一個任務識別碼。 |
UserIdentity
執行工作的使用者身分識別定義。
名稱 | 類型 | Description |
---|---|---|
autoUser |
執行工作的自動使用者。 |
|
username |
string |
執行工作的使用者身分識別名稱。 |