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
batchUrl
path True

string

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

jobId
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

TaskAddParameter[]

要加入之 Tasks 的集合。 工作的最大計數為 100。
這個集合的總串行化大小必須小於 1 MB。 例如,如果每個工作都有 100 個的資源檔或環境變數) 大於 1MB (,則要求將會失敗並顯示代碼 'RequestBodyTooLarge',而且應該以較少的工作再次重試。

回應

名稱 類型 Description
200 OK

TaskAddCollectionResult

回應,包含加入 Task 集合作業的結果。

Headers

  • client-request-id: string
  • request-id: string
Other Status Codes

BatchError

未預期的錯誤

安全性

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

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

TaskAddCollectionParameter

要加入的 Azure Batch Tasks 集合。

TaskAddCollectionResult

將Tasks集合新增至作業的結果。

TaskAddParameter

要加入 Azure Batch 工作。

TaskAddResult

新增工作集合作業時新增單一任務的結果。

TaskAddStatus

新增工作要求的狀態。

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 之 Job 相關所有作業的存取權。

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

輸出檔的目的地 (s) 。

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 以允許公用存取。

TaskAddCollectionParameter

要加入的 Azure Batch Tasks 集合。

名稱 類型 Description
value

TaskAddParameter[]

要加入之 Tasks 的集合。 工作的最大計數為 100。
這個集合的總串行化大小必須小於 1 MB。 例如,如果每個工作都有 100 個的資源檔或環境變數) 大於 1MB (,則要求將會失敗並顯示代碼 'RequestBodyTooLarge',而且應該以較少的工作再次重試。

TaskAddCollectionResult

將Tasks集合新增至作業的結果。

名稱 類型 Description
value

TaskAddResult[]

加入Task集合作業的結果。

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,則不得設定此設定。 當指定這個值時,節點) 上AZ_BATCH_NODE_ROOT_DIR (Azure Batch 目錄的根目錄遞歸地對應到容器,所有 Task 環境變數都會對應至容器,而 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

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

TaskAddResult

新增工作集合作業時新增單一任務的結果。

名稱 類型 Description
eTag

string

如果已成功新增 Task 的 ETag,則為 Task 的 ETag。
您可以使用此選項來偵測工作是否在要求之間變更。 特別是,您可以使用更新工作要求傳遞 ETag,以指定只有當其他人同時沒有修改作業時,您的變更才會生效。

error

BatchError

嘗試新增工作時發生錯誤。

lastModified

string

任務的最後一次修改時間。

location

string

如果已成功新增任務,則為Task的URL。

status

TaskAddStatus

新增工作要求的狀態。

taskId

string

這是結果的工作標識碼。

TaskAddStatus

新增工作要求的狀態。

名稱 類型 Description
clienterror

string

工作因客戶端錯誤而無法新增,且不應在適當的情況下修改要求而重試。

servererror

string

工作因為伺服器錯誤而無法新增,而且可以在不修改的情況下重試。

success

string

已成功新增工作。

TaskConstraints

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

名稱 類型 Description
maxTaskRetryCount

integer

工作可能會重試的最大次數。 如果 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

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

username

string

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