Task - Add

將工作加入至指定的作業。
除了完成之外,任務的最大存留期為180天。 如果工作在 180 天內尚未完成,Batch 服務將會終止,並保留在當時的狀態。

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2023-11-01.18.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2023-11-01.18.0

URI 參數

名稱 位於 必要 類型 Description
batchUrl
path True

string

所有 Azure Batch 服務要求的基底 URL。

jobId
path True

string

要在其中加入Task之作業的標識碼。

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
commandLine True

string

Task 的命令行。
針對多重實例工作,命令行會在主要 Task 和所有子工作完成執行協調命令行之後,當做主要工作來執行。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這類功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand” 或 Linux 中的 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對於Task工作目錄) 的相對路徑 (,或使用 Batch 提供的環境變數 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) 。

id True

string

可唯一識別作業內工作的字串。
標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 標識碼是保留大小寫且不區分大小寫的 (,也就是說,您可能不會在作業內有兩個標識符,而只有大小寫) 不同。

affinityInfo

AffinityInformation

Batch 服務可用來選取要啟動新工作的計算節點的區域提示。

applicationPackageReferences

ApplicationPackageReference[]

Batch 服務在執行命令行之前將部署到計算節點的套件清單。
應用程式套件會下載並部署到共享目錄,而不是工作工作目錄。 因此,如果參考的套件已在節點上,且為最新狀態,則不會重新下載;會使用計算節點上的現有複本。 如果無法安裝參考的套件,例如因為套件已刪除或下載失敗,工作就會失敗。

authenticationTokenSettings

AuthenticationTokenSettings

工作可用來執行 Batch 服務作業的驗證令牌設定。
如果已設定此屬性,Batch 服務會提供驗證令牌,以用來驗證 Batch 服務作業,而不需要帳戶存取密鑰。 令牌是透過 AZ_BATCH_AUTHENTICATION_TOKEN 環境變數來提供。 工作可以使用令牌執行的作業取決於設定。 例如,工作可以要求作業許可權,以便將其他工作新增至作業,或檢查作業或作業下其他工作的狀態。

constraints

TaskConstraints

套用至此工作的執行條件約束。
如果您未指定條件約束,maxTaskRetryCount 是針對Job指定的 maxTaskRetryCount、maxWallClockTime 是無限的,而且 retentionTime是 7 天。

containerSettings

TaskContainerSettings

工作執行所在容器的設定。
如果將執行此工作的集區已設定 containerConfiguration,也必須設定此設定。 如果將執行此工作的集區未設定 containerConfiguration,則不得設定此設定。 當指定這個值時,所有目錄都會遞歸在節點上AZ_BATCH_NODE_ROOT_DIR (Azure Batch 目錄的根目錄) 對應到容器中,所有Task環境變數都會對應至容器,而且工作命令行會在容器中執行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中產生的檔案可能不會反映到主機磁碟,這表示 Batch 檔案 API 將無法存取這些檔案。

dependsOn

TaskDependencies

此工作相依的工作。
除非相依的所有工作都成功完成,否則不會排程此工作。 如果其中任何一個工作失敗並耗盡其重試計數,則永遠不會排程此工作。 如果 Job 沒有將 usesTaskDependencies 設定為 true,而且此元素存在,要求會失敗,並出現錯誤碼 TaskDependenciesNotSpecifiedOnJob。

displayName

string

工作的顯示名稱。
顯示名稱不需要是唯一的,而且可以包含最多 1024 的 Unicode 字元。

environmentSettings

EnvironmentSetting[]

Task 的環境變數設定清單。

exitConditions

ExitConditions

指定Task完成時 Batch 服務應該如何回應。
Batch 服務在工作完成時應該如何回應。

multiInstanceSettings

MultiInstanceSettings

物件,指出Task是多重實例Task,並包含如何執行多重實例工作的資訊。
多重實例工作通常用來支援 MPI 工作。 在 MPI 案例中,如果任何子工作失敗 (例如,因為結束非零結束代碼,) 整個多重實例工作失敗。 然後會終止並重試多重實例工作,最多達到其重試限制。

outputFiles

OutputFile[]

執行命令行之後,Batch 服務將從計算節點上傳的檔案清單。
對於多重實例工作,檔案只會從執行主要工作的計算節點上傳。

requiredSlots

integer

工作執行所需的排程位置數目。
預設值是 1。 如果節點有足夠的可用排程位置可用,則工作只能排程在計算節點上執行。 如果是多重實例工作,這必須是 1。

resourceFiles

ResourceFile[]

Batch 服務在執行命令行之前會下載到計算節點的檔案清單。
對於多重實例工作,資源檔只會下載到執行主要工作的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。

userIdentity

UserIdentity

工作執行所在的使用者身分識別。
如果省略,工作會以工作唯一的非系統管理使用者身分執行。

回應

名稱 類型 Description
201 Created

Batch 服務的要求成功。

Headers

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: string
Other Status Codes

BatchError

Batch 服務的錯誤。

安全性

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 task
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Sample Response

Add a task with container settings

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Sample Response

Add a task with exit conditions

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Sample Response

Add a task with extra slot requirement

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Sample Response

定義

名稱 Description
AccessScope

令牌授與存取權的 Batch 資源。

AffinityInformation

Batch 服務可用來選取要啟動工作的計算節點的區域提示。

ApplicationPackageReference

要部署到計算節點之封裝的參考。

AuthenticationTokenSettings

工作可用來執行 Batch 服務作業的驗證令牌設定。

AutoUserScope

自動用戶的範圍

AutoUserSpecification

指定在 Batch 服務上執行工作之自動用戶的參數。

BatchError

從 Azure Batch 服務收到的錯誤回應。

BatchErrorDetail

Azure Batch 錯誤回應中包含的其他信息專案。

ComputeNodeIdentityReference

與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。

ContainerRegistry

私人容器登錄。

ContainerWorkingDirectory

容器Task工作目錄的位置。

DependencyAction

Batch 服務在相依於此工作的工作上執行的動作。

ElevationLevel

使用者的提高許可權層級。

EnvironmentSetting

工作進程上要設定的環境變數。

ErrorMessage

Azure Batch 錯誤回應中收到的錯誤訊息。

ExitCodeMapping

如果Task以特定的結束代碼結束,Batch服務應該如何回應。

ExitCodeRangeMapping

結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。

ExitConditions

指定Task完成時 Batch 服務應該如何回應。

ExitOptions

指定 Batch 服務如何回應特定的結束條件。

HttpHeader

HTTP 標頭名稱/值組

JobAction

如果 Task 以指定的結束條件完成且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含 Task 的作業採取動作。

MultiInstanceSettings

指定如何執行多重實例工作的設定。

OutputFile

在 Batch 服務完成執行工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。

OutputFileBlobContainerDestination

指定 Azure Blob 記憶體容器內的檔案上傳目的地。

OutputFileDestination

檔案應該上傳至其中的目的地。

OutputFileUploadCondition

工作輸出檔案或一組檔案應該上傳的條件。

OutputFileUploadOptions

輸出檔案上傳作業的詳細數據,包括執行上傳的條件。

ResourceFile

要下載至計算節點的單一檔案或多個檔案。

TaskAddParameter

要加入 Azure Batch 工作。

TaskConstraints

要套用至工作的執行條件約束。

TaskContainerSettings

Task 的容器設定。

TaskDependencies

指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依任務。

TaskIdRange

工作可以相依的工作標識碼範圍。 範圍中標識碼的所有工作都必須順利完成,才能排程相依的工作。

UserIdentity

執行工作的使用者身分識別定義。

AccessScope

令牌授與存取權的 Batch 資源。

名稱 類型 Description
job

string

授與存取權,以在包含工作的作業上執行所有作業。

AffinityInformation

Batch 服務可用來選取要啟動工作的計算節點的區域提示。

名稱 類型 Description
affinityId

string

不透明字串,表示先前執行之計算節點或工作的位置。
您可以傳遞 Node 的 affinityId,以指出此工作必須在該計算節點上執行。 請注意,這隻是軟式親和性。 如果目標計算節點在排程工作時忙碌或無法使用,工作將會排程到其他地方。

ApplicationPackageReference

要部署到計算節點之封裝的參考。

名稱 類型 Description
applicationId

string

要部署之應用程式的標識碼。
建立集區時,套件的應用程式標識碼必須完整 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) 。

version

string

要部署的應用程式版本。 如果省略,則會部署預設版本。
如果在集區上省略此專案,而且未為此應用程式指定預設版本,要求就會失敗,並出現錯誤碼 InvalidApplicationPackageReferences 和 HTTP 狀態代碼 409。 如果在 Task 上省略此專案,且未為此應用程式指定預設版本,則 Task 會失敗,並出現前置處理錯誤。

AuthenticationTokenSettings

工作可用來執行 Batch 服務作業的驗證令牌設定。

名稱 類型 Description
access

AccessScope[]

令牌授與存取權的 Batch 資源。
驗證令牌會將存取權授與一組有限的 Batch 服務作業。 存取屬性目前唯一支援的值是 'job',可授與與包含Task之作業相關之所有作業的存取權。

AutoUserScope

自動用戶的範圍

名稱 類型 Description
pool

string

指定工作會以在集區中的每個計算節點上建立的一般自動使用者帳戶執行。

task

string

指定服務應該為工作建立新的使用者。

AutoUserSpecification

指定在 Batch 服務上執行工作之自動用戶的參數。

名稱 類型 Description
elevationLevel

ElevationLevel

自動使用者的提高許可權層級。
預設值為 nonAdmin。

scope

AutoUserScope

自動用戶的範圍
預設值為集區。 如果集區正在執行 Windows,則當需要更嚴格的工作隔離時,應該指定 Task 的值。 例如,如果工作以可能影響其他工作的方式改變登錄,或已在集區上指定憑證,而該集區上不應該由一般工作存取,但應該可供 StartTasks 存取。

BatchError

從 Azure Batch 服務收到的錯誤回應。

名稱 類型 Description
code

string

錯誤的識別碼。 程式碼不變,且要以程式設計方式使用。

message

ErrorMessage

描述錯誤的訊息,適用於在使用者介面中顯示。

values

BatchErrorDetail[]

索引鍵/值組的集合,其中包含錯誤的其他詳細數據。

BatchErrorDetail

Azure Batch 錯誤回應中包含的其他信息專案。

名稱 類型 Description
key

string

指定 Value 屬性意義的識別碼。

value

string

錯誤回應中包含的其他資訊。

ComputeNodeIdentityReference

與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。

名稱 類型 Description
resourceId

string

使用者指派身分識別的 ARM 資源識別碼。

ContainerRegistry

私人容器登錄。

名稱 類型 Description
identityReference

ComputeNodeIdentityReference

用來存取 Azure Container Registry 而非使用者名稱和密碼的使用者指派身分識別參考。
與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。

password

string

登入登錄伺服器的密碼。

registryServer

string

登錄 URL。
如果省略,預設值為 「docker.io」。。

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

ExitOptions

如果Task以這個結束代碼結束,Batch服務應該如何回應。

ExitCodeRangeMapping

結束代碼的範圍,以及 Batch 服務應如何響應該範圍內的結束代碼。

名稱 類型 Description
end

integer

範圍中的最後一個結束代碼。

exitOptions

ExitOptions

如果 Task 結束且範圍中的結束代碼開始到結尾,則 Batch 服務應該如何回應 (內含) 。

start

integer

範圍中的第一個結束代碼。

ExitConditions

指定Task完成時 Batch 服務應該如何回應。

名稱 類型 Description
default

ExitOptions

如果工作失敗,且其他任何屬性未涵蓋的結束條件,Batch 服務應該如何回應。
如果 Task 結束且未列在 exitCodes 或 exitCodeRanges 集合中的任何非零結束代碼,如果 preProcessingError 屬性不存在,則會使用前置處理錯誤,如果 fileUploadError 屬性不存在,則會使用檔案上傳錯誤。 如果您想要結束代碼 0 的非預設行為,您必須使用 exitCodes 或 exitCodeRanges 集合明確地列出它。

exitCodeRanges

ExitCodeRangeMapping[]

工作結束代碼範圍的清單,以及 Batch 服務應如何回應它們。

exitCodes

ExitCodeMapping[]

個別工作結束代碼的清單,以及 Batch 服務應如何回應它們。

fileUploadError

ExitOptions

如果發生檔案上傳錯誤,Batch 服務應該如何回應。
如果 Task 以 exitCodes 或 exitCodeRanges 指定的結束代碼結束,然後遇到檔案上傳錯誤,則結束代碼所指定的動作優先。

preProcessingError

ExitOptions

如果工作因錯誤而無法啟動,Batch 服務應該如何回應。

ExitOptions

指定 Batch 服務如何回應特定的結束條件。

名稱 類型 Description
dependencyAction

DependencyAction

Batch 服務在相依於此工作的工作上執行的動作。
可能的值為「滿足」 (允許相依工作進行) ,而「封鎖」 (相依工作會繼續等候) 。 Batch 尚不支援取消相依工作。

jobAction

JobAction

如果 Task 以指定的結束條件完成且 Job 的 onTaskFailed 屬性為 'performExitOptionsJobAction',則會對包含 Task 的作業採取動作。
結束代碼 0 的預設值為 none,並針對所有其他結束條件終止。 如果 Job 的 onTaskFailed 屬性為 noaction,則指定此屬性會傳回錯誤,而新增的工作要求會失敗,並出現無效的屬性值錯誤;如果您直接呼叫 REST API,HTTP 狀態代碼為 400 (不正確的要求) 。

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

ResourceFile[]

執行協調命令行之前,Batch 服務會下載的檔案清單。
一般資源檔與工作資源檔之間的差異在於,所有子工作都會下載一般資源檔,包括主要工作,而工作資源檔只會針對主要工作下載。 另請注意,這些資源檔不會下載到工作工作目錄,而是下載到工作根目錄, (工作目錄上方的一個目錄) 。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。

coordinationCommandLine

string

在所有計算節點上執行的命令行,讓它們能夠在主要執行主要Task命令時協調它們。
典型的協調命令行會啟動背景服務,並確認服務已準備好處理節點間訊息。

numberOfInstances

integer

工作所需的計算節點數目。
如果省略,則預設值為1。

OutputFile

在 Batch 服務完成執行工作程式之後,將檔案從 Azure Batch 計算節點上傳至另一個位置的規格。

名稱 類型 Description
destination

OutputFileDestination

輸出檔案的目的地 () 。

filePattern

string

模式,表示要上傳的檔案 () 。
支援相對路徑和絕對路徑。 相對路徑相對於工作工作目錄。 支援下列通配符:* 比對 0 或更多字元 (,例如模式 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

OutputFileUploadOptions

上傳作業的其他選項,包括執行上傳的條件。

OutputFileBlobContainerDestination

指定 Azure Blob 記憶體容器內的檔案上傳目的地。

名稱 類型 Description
containerUrl

string

要上傳檔案 () Azure Blob 儲存體 內的容器 URL。
如果未使用受控識別,URL 必須包含共用存取簽章 (SAS) 授與容器的寫入許可權。

identityReference

ComputeNodeIdentityReference

用來存取 containerUrl 所指定 Azure Blob 儲存體 的使用者指派身分識別參考
身分識別必須具有 Azure Blob 儲存體 容器的寫入許可權

path

string

Azure 記憶體容器內的目的地 Blob 或虛擬目錄。
如果 filePattern 參考特定檔案 (亦即不包含任何通配符) ,則 path 是要上傳該檔案的 Blob 名稱。 如果 filePattern 包含一或多個通配符 (,因此可能會比對多個檔案) ,則 path 是 blob 虛擬目錄的名稱, (前面加上每個 Blob 名稱,) 上傳檔案 () 。 如果省略,檔案 () 會上傳至容器的根目錄,且 Blob 名稱符合其檔名。

uploadHeaders

HttpHeader[]

用於上傳輸出檔案中標頭的名稱/值組清單
將檔案上傳至 Azure 記憶體時,將會指定這些標頭。 上傳 Blob 時,允許標頭的官方檔: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

檔案應該上傳至其中的目的地。

名稱 類型 Description
container

OutputFileBlobContainerDestination

Azure Blob 記憶體中上傳檔案的位置。

OutputFileUploadCondition

工作輸出檔案或一組檔案應該上傳的條件。

名稱 類型 Description
taskcompletion

string

不論結束代碼為何, (工作程序結束之後上傳檔案) 。

taskfailure

string

只有在工作進程結束且具有非零結束代碼之後,才 (檔案上傳) 。

tasksuccess

string

只有在工作程序結束且結束代碼為 0 之後,才 (檔案上傳) 。

OutputFileUploadOptions

輸出檔案上傳作業的詳細數據,包括執行上傳的條件。

名稱 類型 Description
uploadCondition

OutputFileUploadCondition

工作輸出檔案或一組檔案應該上傳的條件。
預設值為 taskcompletion。

ResourceFile

要下載至計算節點的單一檔案或多個檔案。

名稱 類型 Description
autoStorageContainerName

string

自動記憶體帳戶中的記憶體容器名稱。
autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,而且必須指定其中一個屬性。

blobPrefix

string

從 Azure 記憶體容器下載 Blob 時要使用的 Blob 前置詞。 只會下載名稱開頭為指定前置詞的 Blob。
只有在使用 autoStorageContainerName 或 storageContainerUrl 時,屬性才有效。 此前置詞可以是部分檔名或子目錄。 如果未指定前置詞,則會下載容器中的所有檔案。

fileMode

string

八進位格式的檔案許可權模式屬性。
此屬性僅適用於下載至 Linux 計算節點的檔案。 如果針對將下載至 Windows 計算節點的 resourceFile 指定,則會忽略它。 如果未指定 Linux 計算節點的這個屬性,則會將預設值 0770 套用至檔案。

filePath

string

相對於工作的工作目錄,要下載檔案 () 的計算節點上的位置。
如果指定 HTTPUrl 屬性,則需要 filePath,並描述將下載檔案的路徑,包括檔名。 否則,如果指定 autoStorageContainerName 或 storageContainerUrl 屬性,則 filePath 是選擇性的,而且是下載檔案的目錄。 在 filePath 當做目錄使用的情況下,任何已經與輸入數據相關聯的目錄結構都會完整保留並附加至指定的 filePath 目錄。 指定的相對路徑無法中斷工作的工作目錄,例如使用 『.』 (。) 。

httpUrl

string

要下載的檔案 URL。
autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,而且必須指定其中一個屬性。 如果 URL 指向 Azure Blob 儲存體,則必須從計算節點讀取它。 有三種方式可在 Azure 記憶體中取得 Blob 的這類 URL:包括共用存取簽章 (SAS) 授與 Blob 的讀取許可權、使用具有讀取許可權的受控識別,或為 Blob 或其容器設定 ACL 以允許公用存取。

identityReference

ComputeNodeIdentityReference

使用者指派的身分識別參考,用來存取 storageContainerUrl 或 HTTPUrl 所指定的 Azure Blob 儲存體
與計算節點將使用之 Batch 集區相關聯的使用者指派身分識別參考。

storageContainerUrl

string

Azure Blob 儲存體 中 Blob 容器的 URL。
autoStorageContainerName、storageContainerUrl 和 httpUrl 屬性互斥,而且必須指定其中一個屬性。 此 URL 必須是可讀取且可從計算節點列出。 有三種方式可以取得 Azure 記憶體中容器的這類 URL:包括共用存取簽章 (SAS) 授與容器的讀取和列表許可權、使用具有讀取和列出許可權的受控識別,或為容器設定 ACL 以允許公用存取。

TaskAddParameter

要加入 Azure Batch 工作。

名稱 類型 Description
affinityInfo

AffinityInformation

Batch 服務可用來選取要啟動新工作的計算節點的區域提示。

applicationPackageReferences

ApplicationPackageReference[]

Batch 服務在執行命令行之前將部署到計算節點的套件清單。
應用程式套件會下載並部署到共享目錄,而不是工作工作目錄。 因此,如果參考的套件已在節點上,且為最新狀態,則不會重新下載;會使用計算節點上的現有複本。 如果無法安裝參考的套件,例如因為套件已刪除或下載失敗,工作就會失敗。

authenticationTokenSettings

AuthenticationTokenSettings

工作可用來執行 Batch 服務作業的驗證令牌設定。
如果已設定此屬性,Batch 服務會提供驗證令牌,以用來驗證 Batch 服務作業,而不需要帳戶存取密鑰。 令牌是透過 AZ_BATCH_AUTHENTICATION_TOKEN 環境變數來提供。 工作可以使用令牌執行的作業取決於設定。 例如,工作可以要求作業許可權,以便將其他工作新增至作業,或檢查作業或作業下其他工作的狀態。

commandLine

string

Task 的命令行。
針對多重實例工作,命令行會在主要 Task 和所有子工作完成執行協調命令行之後,當做主要工作來執行。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這類功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand” 或 Linux 中的 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對於Task工作目錄) 的相對路徑 (,或使用 Batch 提供的環境變數 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) 。

constraints

TaskConstraints

套用至此工作的執行條件約束。
如果您未指定條件約束,maxTaskRetryCount 是針對Job指定的 maxTaskRetryCount、maxWallClockTime 是無限的,而且 retentionTime是 7 天。

containerSettings

TaskContainerSettings

工作執行所在容器的設定。
如果將執行此工作的集區已設定 containerConfiguration,也必須設定此設定。 如果將執行此工作的集區未設定 containerConfiguration,則不得設定此設定。 當指定這個值時,節點) 上 Azure Batch 目錄根目錄AZ_BATCH_NODE_ROOT_DIR (递归地对应到容器,所有Task環境變數都會對應到容器,而且工作命令行會在容器中執行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中產生的檔案可能不會反映到主機磁碟,這表示 Batch 檔案 API 將無法存取這些檔案。

dependsOn

TaskDependencies

此工作相依的工作。
除非相依的所有工作都成功完成,否則不會排程此工作。 如果其中任何一個工作失敗並耗盡其重試計數,則永遠不會排程此工作。 如果 Job 沒有將 usesTaskDependencies 設定為 true,而且此元素存在,要求會失敗,並出現錯誤碼 TaskDependenciesNotSpecifiedOnJob。

displayName

string

工作的顯示名稱。
顯示名稱不需要是唯一的,而且可以包含最多 1024 的 Unicode 字元。

environmentSettings

EnvironmentSetting[]

Task 的環境變數設定清單。

exitConditions

ExitConditions

指定Task完成時 Batch 服務應該如何回應。
Batch 服務在工作完成時應該如何回應。

id

string

可唯一識別作業內工作的字串。
標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 標識碼是保留大小寫且不區分大小寫的 (,也就是說,您可能不會在作業內有兩個標識符,而只有大小寫) 不同。

multiInstanceSettings

MultiInstanceSettings

物件,指出Task是多重實例Task,並包含如何執行多重實例工作的資訊。
多重實例工作通常用來支援 MPI 工作。 在 MPI 案例中,如果任何子工作失敗 (例如,因為結束非零結束代碼,) 整個多重實例工作失敗。 然後會終止並重試多重實例工作,最多達到其重試限制。

outputFiles

OutputFile[]

執行命令行之後,Batch 服務將從計算節點上傳的檔案清單。
對於多重實例工作,檔案只會從執行主要工作的計算節點上傳。

requiredSlots

integer

工作執行所需的排程位置數目。
預設值是 1。 如果節點有足夠的可用排程位置可用,則工作只能排程在計算節點上執行。 如果是多重實例工作,這必須是 1。

resourceFiles

ResourceFile[]

Batch 服務在執行命令行之前會下載到計算節點的檔案清單。
對於多重實例工作,資源檔只會下載到執行主要工作的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。

userIdentity

UserIdentity

工作執行所在的使用者身分識別。
如果省略,工作會以工作唯一的非系統管理使用者身分執行。

TaskConstraints

要套用至工作的執行條件約束。

名稱 類型 Description
maxTaskRetryCount

integer

重試工作的最大次數。 如果 Batch 服務的結束代碼為非零,Batch 服務會重試工作。
請注意,此值特別控制工作可執行檔的重試次數,因為非零結束代碼。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次, (一次初始嘗試,3 次重試) 。 如果重試計數上限為0,Batch服務不會在第一次嘗試之後重試工作。 如果重試計數上限為 -1,Batch 服務會重試工作,但不建議用於啟動工作或任何工作。 預設值為 0 (不重試)。

maxWallClockTime

string

工作可能執行的最大經過時間,從工作開始的時間開始計算。 如果工作未在時間限制內完成,Batch 服務就會終止它。
如果未指定此專案,則工作可能執行的時間長度沒有時間限制。

retentionTime

string

在計算節點上保留工作目錄執行的時間下限,從完成執行的時間開始。 在這段時間之後,Batch 服務可能會刪除Task目錄及其所有內容。
默認值為 7 天,亦即工作目錄會保留 7 天,除非移除計算節點或刪除作業。

TaskContainerSettings

Task 的容器設定。

名稱 類型 Description
containerRunOptions

string

容器 create 命令的其他選項。
除了 Batch 服務所控制的自變數之外,這些額外的選項也會提供為 「docker create」 命令的自變數。

imageName

string

要用來建立工作執行所在容器的映像。
這是完整的映像參考,如同指定為 “docker pull”。 如果未提供標籤作為映像名稱的一部分,則會使用標籤 “:latest” 作為預設值。

registry

ContainerRegistry

包含容器映像的私人登錄。
如果已在集區建立時提供,則可以省略此設定。

workingDirectory

ContainerWorkingDirectory

容器Task工作目錄的位置。
默認值為 『taskWorkingDirectory』。

TaskDependencies

指定工作的任何相依性。 明確指定或相依性範圍內的任何工作都必須完成,才能排程相依任務。

名稱 類型 Description
taskIdRanges

TaskIdRange[]

此任務相依的工作識別碼範圍清單。 所有範圍中的所有工作都必須順利完成,才能排程相依的工作。

taskIds

string[]

此工作相依的工作標識碼清單。 此清單中的所有工作都必須順利完成,才能排程相依的任務。
taskIds 集合總計限制為 64000 個字元, (亦即所有工作標識符的合併長度) 。 如果 taskIds 集合超過最大長度,則新增工作要求會失敗,並出現錯誤碼 TaskDependencyListTooLong。 在此情況下,請考慮改用工作標識符範圍。

TaskIdRange

工作可以相依的工作標識碼範圍。 範圍中標識碼的所有工作都必須順利完成,才能排程相依的工作。

名稱 類型 Description
end

integer

範圍中的最後一個任務識別碼。

start

integer

範圍中的第一個任務識別碼。

UserIdentity

執行工作的使用者身分識別定義。

名稱 類型 Description
autoUser

AutoUserSpecification

執行 Task 的自動使用者。
userName 和 autoUser 屬性互斥;您必須指定一個但不能同時指定兩者。

username

string

執行Task的使用者身分識別名稱。
userName 和 autoUser 屬性互斥;您必須指定一個但不能同時指定兩者。