Task - Add
將工作加入至指定的作業。
從完成到完成的工作最長存留期為 180 天。 如果工作尚未在新增的 180 天內完成,Batch 服務將會終止工作,並在當時處於任何狀態。
POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
batch
|
path | True |
string |
所有 Azure Batch 服務要求的基底 URL。 |
job
|
path | True |
string |
要加入工作之作業的標識碼。 |
api-version
|
query | True |
string |
用戶端 API 版本。 |
timeout
|
query |
integer int32 |
伺服器可以花費數秒處理要求的時間上限。 預設值為30秒。 如果值大於 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 |
---|---|---|---|
commandLine | True |
string |
Task 的命令行。 |
id | True |
string |
可唯一識別作業內工作的字串。 |
affinityInfo |
Batch 服務可以使用的地區提示,以選取要啟動新工作的計算節點。 |
||
applicationPackageReferences |
Batch 服務在執行命令行之前,將部署到計算節點的套件清單。 |
||
authenticationTokenSettings |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 |
||
constraints |
套用至此工作的執行條件約束。 |
||
containerSettings |
工作執行所在的容器設定。 |
||
dependsOn |
此工作相依的工作。 |
||
displayName |
string |
工作的顯示名稱。 |
|
environmentSettings |
Task 的環境變數設定清單。 |
||
exitConditions |
指定 Batch 服務在工作完成時應該如何回應。 |
||
multiInstanceSettings |
物件,指出Task是多重實例Task,並包含如何執行多重實例工作的相關信息。 |
||
outputFiles |
執行命令行之後,Batch 服務會從計算節點上傳的檔案清單。 |
||
requiredSlots |
integer |
工作執行所需的排程位置數目。 |
|
resourceFiles |
Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 |
||
userIdentity |
工作執行所在的使用者身分識別。 |
回應
名稱 | 類型 | Description |
---|---|---|
201 Created |
Batch 服務的要求成功。 標題
|
|
Other Status Codes |
Batch 服務的錯誤。 |
安全性
azure_auth
Microsoft Entra OAuth 2.0 驗證碼流程
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
Authorization
類型:
apiKey
位於:
header
範例
Add a basic task
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "task1",
"commandLine": "cmd /c echo task1"
}
範例回覆
Add a container task with container data isolation
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerHostBatchBindMounts": [
{
"source": "Task",
"isReadOnly": true
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
範例回覆
Add a container task with container data isolation bad request duplicate sources
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerHostBatchBindMounts": [
{
"source": "Task",
"isReadOnly": true
},
{
"source": "Task",
"isReadOnly": true
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
範例回覆
Add a task with container settings
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerRunOptions": "--rm"
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
範例回覆
Add a task with exit conditions
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "cmd /c exit 3",
"exitConditions": {
"exitCodeRanges": [
{
"start": 2,
"end": 4,
"exitOptions": {
"jobAction": "terminate"
}
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
範例回覆
Add a task with extra slot requirement
範例要求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "task1",
"requiredSlots": 2,
"commandLine": "cmd /c echo task1"
}
範例回覆
定義
名稱 | Description |
---|---|
Access |
令牌授與存取權的 Batch 資源。 |
Affinity |
Batch 服務可用來選取要啟動工作的計算節點的區域提示。 |
Application |
要部署到計算節點之封裝的參考。 |
Authentication |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 |
Auto |
自動用戶的範圍 |
Auto |
指定在 Batch 服務上執行工作之自動用戶的參數。 |
Batch |
從 Azure Batch 服務收到的錯誤回應。 |
Batch |
Azure Batch 錯誤回應中包含的其他信息專案。 |
Compute |
與計算節點將使用的 Batch 集區相關聯的使用者指派身分識別參考。 |
Container |
您想要掛接至工作容器的路徑和掛接模式專案。 |
Container |
要掛接至容器工作容器的路徑。 |
Container |
私人容器登錄。 |
Container |
容器工作工作目錄的位置。 |
Dependency |
Batch 服務在相依於此工作的工作上執行的動作。 |
Elevation |
使用者的提高許可權層級。 |
Environment |
要設定於工作進程的環境變數。 |
Error |
Azure Batch 錯誤回應中收到的錯誤訊息。 |
Exit |
如果工作以特定結束代碼結束,Batch 服務應該如何回應。 |
Exit |
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。 |
Exit |
指定 Batch 服務在工作完成時應該如何回應。 |
Exit |
指定 Batch 服務如何回應特定結束條件。 |
Http |
HTTP 標頭名稱/值組 |
Job |
如果 Task 以指定的結束條件完成,且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含工作的作業採取動作。 |
Multi |
指定如何執行多重實例工作的設定。 |
Output |
在 Batch 服務完成執行工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。 |
Output |
指定 Azure Blob 記憶體容器內的檔案上傳目的地。 |
Output |
檔案應該上傳至其中的目的地。 |
Output |
工作輸出檔案或一組檔案應該上傳的條件。 |
Output |
輸出檔案上傳作業的詳細數據,包括執行上傳的條件。 |
Resource |
要下載至計算節點的單一檔案或多個檔案。 |
Task |
要新增的 Azure Batch 工作。 |
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 資源識別碼。 |
ContainerHostBatchBindMountEntry
您想要掛接至工作容器的路徑和掛接模式專案。
名稱 | 類型 | Description |
---|---|---|
isReadOnly |
boolean |
將此來源路徑掛接為唯讀模式或否。 默認值為 false (讀取/寫入模式)。 |
source |
掛接至容器客戶的路徑可以選取。 |
ContainerHostDataPath
要掛接至容器工作容器的路徑。
名稱 | 類型 | Description |
---|---|---|
Applications |
string |
應用程式路徑。 |
JobPrep |
string |
作業準備工作路徑。 |
Shared |
string |
要共用其檔案之多重實例工作的路徑。 |
Startup |
string |
開始工作的路徑。 |
Task |
string |
工作路徑。 |
VfsMounts |
string |
路徑包含此節點上掛接的所有虛擬檔案系統。 |
ContainerRegistry
私人容器登錄。
名稱 | 類型 | Description |
---|---|---|
identityReference |
使用者指派身分識別的參考,用來存取 Azure Container Registry,而不是使用者名稱和密碼。 |
|
password |
string |
登入登錄伺服器的密碼。 |
registryServer |
string |
登錄 URL。 |
username |
string |
要登入登錄伺服器的用戶名稱。 |
ContainerWorkingDirectory
容器工作工作目錄的位置。
名稱 | 類型 | 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
如果工作以特定結束代碼結束,Batch 服務應該如何回應。
名稱 | 類型 | Description |
---|---|---|
code |
integer |
進程結束代碼。 |
exitOptions |
如果Task以這個結束代碼結束,Batch服務應該如何回應。 |
ExitCodeRangeMapping
結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。
名稱 | 類型 | Description |
---|---|---|
end |
integer |
範圍中的最後一個結束代碼。 |
exitOptions |
如果工作結束且範圍中的結束代碼開始到結尾(包含),Batch 服務應該如何回應。 |
|
start |
integer |
範圍中的第一個結束代碼。 |
ExitConditions
指定 Batch 服務在工作完成時應該如何回應。
名稱 | 類型 | Description |
---|---|---|
default |
如果工作失敗,而其他任何屬性未涵蓋的結束條件,Batch 服務應該如何回應。 |
|
exitCodeRanges |
工作結束代碼範圍的清單,以及 Batch 服務應該如何回應它們。 |
|
exitCodes |
個別工作結束代碼的清單,以及 Batch 服務應該如何回應它們。 |
|
fileUploadError |
如果發生檔案上傳錯誤,Batch 服務應該如何回應。 |
|
preProcessingError |
如果工作因為錯誤而無法啟動,Batch 服務應該如何回應。 |
ExitOptions
指定 Batch 服務如何回應特定結束條件。
名稱 | 類型 | Description |
---|---|---|
dependencyAction |
Batch 服務在相依於此工作的工作上執行的動作。 |
|
jobAction |
如果 Task 以指定的結束條件完成,且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含工作的作業採取動作。 |
HttpHeader
HTTP 標頭名稱/值組
名稱 | 類型 | Description |
---|---|---|
name |
string |
上傳輸出檔案時所要使用的標頭不區分大小寫的名稱 |
value |
string |
上傳輸出檔案時要使用的標頭值 |
JobAction
如果 Task 以指定的結束條件完成,且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含工作的作業採取動作。
名稱 | 類型 | Description |
---|---|---|
disable |
string |
停用作業。 這相當於呼叫 disable Job API,其 disableTasks 值為 requeue。 |
none |
string |
不採取任何動作。 |
terminate |
string |
終止作業。 Job 執行Info 中的 terminateReason 會設定為 “TaskFailed”。 |
MultiInstanceSettings
指定如何執行多重實例工作的設定。
名稱 | 類型 | Description |
---|---|---|
commonResourceFiles |
Batch 服務在執行協調命令行之前會下載的檔案清單。 |
|
coordinationCommandLine |
string |
在所有計算節點上執行的命令行,讓它們能夠在主要執行Task命令時協調它們。 |
numberOfInstances |
integer |
工作所需的計算節點數目。 |
OutputFile
在 Batch 服務完成執行工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。
名稱 | 類型 | Description |
---|---|---|
destination |
輸出檔的目的地。 |
|
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。 |
TaskAddParameter
要新增的 Azure Batch 工作。
名稱 | 類型 | Description |
---|---|---|
affinityInfo |
Batch 服務可以使用的地區提示,以選取要啟動新工作的計算節點。 |
|
applicationPackageReferences |
Batch 服務在執行命令行之前,將部署到計算節點的套件清單。 |
|
authenticationTokenSettings |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 |
|
commandLine |
string |
Task 的命令行。 |
constraints |
套用至此工作的執行條件約束。 |
|
containerSettings |
工作執行所在的容器設定。 |
|
dependsOn |
此工作相依的工作。 |
|
displayName |
string |
工作的顯示名稱。 |
environmentSettings |
Task 的環境變數設定清單。 |
|
exitConditions |
指定 Batch 服務在工作完成時應該如何回應。 |
|
id |
string |
可唯一識別作業內工作的字串。 |
multiInstanceSettings |
物件,指出Task是多重實例Task,並包含如何執行多重實例工作的相關信息。 |
|
outputFiles |
執行命令行之後,Batch 服務會從計算節點上傳的檔案清單。 |
|
requiredSlots |
integer |
工作執行所需的排程位置數目。 |
resourceFiles |
Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 |
|
userIdentity |
工作執行所在的使用者身分識別。 |
TaskConstraints
要套用至工作的執行條件約束。
名稱 | 類型 | Description |
---|---|---|
maxTaskRetryCount |
integer |
重試工作的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 |
maxWallClockTime |
string |
工作可能執行的最大經過時間,從工作開始的時間測量。 如果工作未在時間限制內完成,Batch 服務就會終止它。 |
retentionTime |
string |
從執行完成時起,在計算節點上保留工作目錄的時間下限。 在這段時間之後,Batch 服務可能會刪除Task目錄及其所有內容。 |
TaskContainerSettings
工作的容器設定。
名稱 | 類型 | Description |
---|---|---|
containerHostBatchBindMounts |
您要掛接至容器工作的路徑。 |
|
containerRunOptions |
string |
容器 create 命令的其他選項。 |
imageName |
string |
用來建立要在其中執行工作之容器的映像。 |
registry |
包含容器映像的私人登錄。 |
|
workingDirectory |
容器工作工作目錄的位置。 |
TaskDependencies
指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依性工作。
名稱 | 類型 | Description |
---|---|---|
taskIdRanges |
此工作相依的工作標識碼範圍清單。 所有範圍中的所有工作都必須順利完成,才能排程相依的工作。 |
|
taskIds |
string[] |
此工作相依的工作標識碼清單。 此清單中的所有工作都必須順利完成,才能排程相依的工作。 |
TaskIdRange
工作可以相依的工作標識碼範圍。 範圍中具有標識碼的所有工作都必須順利完成,才能排程相依的工作。
名稱 | 類型 | Description |
---|---|---|
end |
integer |
範圍中的最後一個任務識別碼。 |
start |
integer |
範圍中的第一個任務識別碼。 |
UserIdentity
執行工作的使用者身分識別定義。
名稱 | 類型 | Description |
---|---|---|
autoUser |
工作執行所在的自動使用者。 |
|
username |
string |
執行工作的使用者身分識別名稱。 |