共用方式為


Tasks - Create Task

為指定的工作建立任務。
任務從新增到完成的最長壽命為180天。 如果任務在加入後 180 天內未完成,批次服務會終止該任務,並維持當時的狀態。

POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}

URI 參數

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

string (uri)

Batch 帳戶端點 (例如:https://batchaccount.eastus2.batch.azure.com)。

jobId
path True

string

任務要建立的作業的 ID。

api-version
query True

string

minLength: 1

要用於這項作業的 API 版本。

timeOut
query

integer (int32)

伺服器可以花費數秒處理要求的時間上限。 預設值為 30 秒。 若值大於30,則會使用預設值。」

要求標頭

Media Types: "application/json; odata=minimalmetadata"

名稱 必要 類型 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,請明確設定它。

要求本文

Media Types: "application/json; odata=minimalmetadata"

名稱 必要 類型 Description
commandLine True

string

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

id True

string

一個字串,唯一識別工作中的任務。 標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 ID 是保留大小寫且不區分大小寫的(也就是說,你在一個職位中不能有兩個只因案例不同而異的 ID)。

affinityInfo

BatchAffinityInfo

一個區域性提示,批次服務可用來選擇一個計算節點來啟動新任務。

applicationPackageReferences

BatchApplicationPackageReference[]

批次服務會在執行命令列前部署到運算節點的套件清單。 應用程式套件會被下載並部署到共享目錄,而非任務工作目錄。 因此,如果參考的套件已經在節點上且是最新的,則不會重新下載;使用計算節點上現有的副本。 若無法安裝參考的套件,例如因套件已被刪除或下載失敗,任務即失敗。

authenticationTokenSettings

AuthenticationTokenSettings

工作可用來執行 Batch 服務作業之驗證令牌的設定。 若設定此屬性,批次服務會提供任務認證權杖,可用於驗證批次服務操作,無需帳號存取金鑰。 權杖是透過AZ_BATCH_AUTHENTICATION_TOKEN環境變數提供的。 任務能使用該標記執行的操作取決於設定。 例如,任務可以請求工作權限以新增其他任務到該工作,或檢查該工作或工作下其他任務的狀態。

constraints

BatchTaskConstraints

適用於此任務的執行約束。 如果你沒有指定限制條件,maxTaskRetryCount 就是該工作指定的 maxTaskRetryCount,maxWallClockTime 是無限長,retentionTime 是 7 天。

containerSettings

BatchTaskContainerSettings

任務執行容器的設定。 如果執行此任務的池子有 containerConfiguration 設定,也必須設定此設定。 如果執行此任務的池沒有設定 containerConfiguration ,則必須不要設定。 當指定此位置時,所有位於AZ_BATCH_NODE_ROOT_DIR(節點上 Azure Batch 目錄根節點)下方的目錄會遞迴地映射到容器中,所有任務環境變數也映射到容器中,任務命令列則在容器中執行。 容器中產生的檔案可能不會被反映到主機磁碟AZ_BATCH_NODE_ROOT_DIR,導致批次檔案 API 無法存取這些檔案。

dependsOn

BatchTaskDependencies

這項任務所依賴的任務。 此任務在所有依賴任務成功完成後才會排程。 若任何任務失敗且重試次數用盡,該任務將永遠無法排程。 若工作未將 usesTaskDependencies 設為 true,且該元素存在,則請求會因錯誤代碼 TaskDependenciesNotSpecifiedOnJob 而失敗。

displayName

string

任務的顯示名稱。 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。

environmentSettings

EnvironmentSetting[]

任務的環境變數設定清單。

exitConditions

ExitConditions

批次服務在任務完成時應該如何回應。

multiInstanceSettings

MultiInstanceSettings

一個表示該任務為多實例任務的物件,並包含如何執行多實例任務的資訊。

outputFiles

OutputFile[]

批次服務執行命令列後會從計算節點上傳的檔案清單。 對於多實例任務,檔案只會從執行主要任務的計算節點上傳。

requiredSlots

integer (int32)

任務執行所需的排程時段數量。 預設值為 1。 任務只有在計算節點有足夠空閒排程槽時才能排程執行。 對於多實例任務,這必須是 1.

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

任務執行的使用者身份。 若省略,該任務將以非管理員使用者身份執行,且是任務獨一無二的使用者。

回應

名稱 類型 Description
201 Created

要求已成功,因此已建立新的資源。

標題

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

BatchError

未預期的錯誤回應。

安全性

OAuth2Auth

類型: oauth2
Flow: implicit
授權 URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

範圍

名稱 Description
https://batch.core.windows.net//.default

範例

Creates a basic task
Creates a task with container settings
Creates a task with container settings with data isolation
Creates a task with container settings with duplicate source
Creates a task with exit conditions
Creates a task with extra slot requirement

Creates a basic task

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

範例回覆

Creates a task with container settings

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

範例回覆

Creates a task with container settings with data isolation

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

範例回覆

Creates a task with container settings with duplicate source

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "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"
    }
  }
}

範例回覆

Creates a task with exit conditions

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

範例回覆

Creates a task with extra slot requirement

範例要求

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



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

範例回覆

定義

名稱 Description
AuthenticationTokenSettings

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

AutoUserScope

AutoUserScope 枚舉

AutoUserSpecification

指定執行 Azure Batch 工作的自動用戶選項。

BatchAccessScope

BatchAccessScope 枚舉

BatchAffinityInfo

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

BatchApplicationPackageReference

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

BatchError

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

BatchErrorDetail

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

BatchErrorMessage

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

BatchJobActionKind

BatchJobAction 的枚舉

BatchNodeIdentityReference

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

BatchTaskConstraints

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

BatchTaskContainerSettings

工作的容器設定。

BatchTaskCreateOptions

用於建立 Azure Batch 工作的參數。

BatchTaskDependencies

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

BatchTaskIdRange

範圍的開始和結尾是內含的。 例如,如果範圍有 9 開始和結束 12,則它代表工作 '9'、'10'、'11' 和 '12'。

ContainerHostBatchBindMountEntry

您想要掛接至工作容器的路徑和掛接模式專案。

ContainerHostDataPath

要掛接至容器工作容器的路徑。

ContainerRegistryReference

私人容器登錄。

ContainerWorkingDirectory

ContainerWorkingDirectory 枚舉

DependencyAction

DependencyAction 枚舉

ElevationLevel

高程層列舉

EnvironmentSetting

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

ExitCodeMapping

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

ExitCodeRangeMapping

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

ExitConditions

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

ExitOptions

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

MultiInstanceSettings

多重實例工作通常用於支援 MPI 工作。 在 MPI 案例中,如果任一子工作失敗(例如,由於以非零結束代碼結束),則整個多重實例工作會失敗。 然後,多實例工作會終止並重試,達到其重試限制。

OutputFile

在每個檔案上傳上,Batch 服務會將兩個記錄檔寫入計算節點 'fileuploadout.txt' 和 'fileuploaderr.txt'。 這些記錄檔可用來深入瞭解特定失敗。

OutputFileBlobContainerDestination

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

OutputFileDestination

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

OutputFileUploadCondition

OutputFileUploadCondition 枚舉

OutputFileUploadConfig

輸出檔案上傳作業的選項,包括執行上傳的條件。

OutputFileUploadHeader

HTTP 標頭名稱/值組

ResourceFile

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

UserIdentity

執行工作的使用者身分識別定義。 指定userName或 autoUser 屬性,但不能同時指定兩者。

AuthenticationTokenSettings

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

名稱 類型 Description
access

BatchAccessScope[]

就是 Token 授權存取的批次資源。 認證權杖允許存取有限的批次服務操作。 目前唯一支援的存取屬性值是「job」,它能存取包含該任務的所有與工作相關的操作。

AutoUserScope

AutoUserScope 枚舉

Description
task

指定服務應為該任務建立新使用者。

pool

指定該任務作為共用的自動使用者帳號執行,該帳號會在池中每個運算節點建立。

AutoUserSpecification

指定執行 Azure Batch 工作的自動用戶選項。

名稱 類型 Description
elevationLevel

ElevationLevel

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

scope

AutoUserScope

自動用戶的範圍。 預設值為集區。 如果集區正在執行 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

BatchErrorMessage

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

values

BatchErrorDetail[]

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

BatchErrorDetail

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

名稱 類型 Description
key

string

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

value

string

錯誤回應隨附的其他資訊。

BatchErrorMessage

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

名稱 類型 Description
lang

string

錯誤訊息的語言代碼。

value

string

訊息的文字。

BatchJobActionKind

BatchJobAction 的枚舉

Description
none

不採取任何行動。

disable

停用該工作。 這相當於呼叫 disable Job API,並以 disableTasks 值為 requeue。

terminate

終止這份工作。 作業執行資訊中的 terminationReason 設定為「TaskFailed」。

BatchNodeIdentityReference

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

名稱 類型 Description
resourceId

string (arm-id)

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

BatchTaskConstraints

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

名稱 類型 Description
maxTaskRetryCount

integer (int32)

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

maxWallClockTime

string (duration)

任務可執行的最大經過時間,從任務開始的時間開始計算。 若任務未在時間限制內完成,批次服務會終止該任務。 若未指定,任務時間限制則無時間限制。

retentionTime

string (duration)

任務目錄在執行時的計算節點上,從執行完成起的最小保留時間。 在此之後,批次服務可能會刪除任務目錄及其所有內容。 預設為 7 天,也就是說,除非移除運算節點或刪除工作,否則任務目錄會保留 7 天。

BatchTaskContainerSettings

工作的容器設定。

名稱 類型 Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

您要掛接至容器工作的路徑。 如果此陣列為 Null 或不存在,容器工作將會在 Windows 中掛接整個暫存磁碟驅動器(或 Linux 中的AZ_BATCH_NODE_ROOT_DIR)。 如果此陣列設定為空白,它就不會將任何數據路徑掛接至容器。

containerRunOptions

string

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

imageName

string

用來建立任務執行容器的映像。 這是完整的映像參考,正如「docker pull」所指定的。 若圖片名稱中未提供標籤,則預設使用標籤「:latest」。

registry

ContainerRegistryReference

包含容器映像檔的私有登錄檔。 若在創建池時已提供此設定,則可省略此設定。

workingDirectory

ContainerWorkingDirectory

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

BatchTaskCreateOptions

用於建立 Azure Batch 工作的參數。

名稱 類型 Description
affinityInfo

BatchAffinityInfo

一個區域性提示,批次服務可用來選擇一個計算節點來啟動新任務。

applicationPackageReferences

BatchApplicationPackageReference[]

批次服務會在執行命令列前部署到運算節點的套件清單。 應用程式套件會被下載並部署到共享目錄,而非任務工作目錄。 因此,如果參考的套件已經在節點上且是最新的,則不會重新下載;使用計算節點上現有的副本。 若無法安裝參考的套件,例如因套件已被刪除或下載失敗,任務即失敗。

authenticationTokenSettings

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

BatchTaskConstraints

適用於此任務的執行約束。 如果你沒有指定限制條件,maxTaskRetryCount 就是該工作指定的 maxTaskRetryCount,maxWallClockTime 是無限長,retentionTime 是 7 天。

containerSettings

BatchTaskContainerSettings

任務執行容器的設定。 如果執行此任務的池子有 containerConfiguration 設定,也必須設定此設定。 如果執行此任務的池沒有設定 containerConfiguration ,則必須不要設定。 當指定此位置時,所有位於AZ_BATCH_NODE_ROOT_DIR(節點上 Azure Batch 目錄根節點)下方的目錄會遞迴地映射到容器中,所有任務環境變數也映射到容器中,任務命令列則在容器中執行。 容器中產生的檔案可能不會被反映到主機磁碟AZ_BATCH_NODE_ROOT_DIR,導致批次檔案 API 無法存取這些檔案。

dependsOn

BatchTaskDependencies

這項任務所依賴的任務。 此任務在所有依賴任務成功完成後才會排程。 若任何任務失敗且重試次數用盡,該任務將永遠無法排程。 若工作未將 usesTaskDependencies 設為 true,且該元素存在,則請求會因錯誤代碼 TaskDependenciesNotSpecifiedOnJob 而失敗。

displayName

string

任務的顯示名稱。 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。

environmentSettings

EnvironmentSetting[]

任務的環境變數設定清單。

exitConditions

ExitConditions

批次服務在任務完成時應該如何回應。

id

string

一個字串,唯一識別工作中的任務。 標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 ID 是保留大小寫且不區分大小寫的(也就是說,你在一個職位中不能有兩個只因案例不同而異的 ID)。

multiInstanceSettings

MultiInstanceSettings

一個表示該任務為多實例任務的物件,並包含如何執行多實例任務的資訊。

outputFiles

OutputFile[]

批次服務執行命令列後會從計算節點上傳的檔案清單。 對於多實例任務,檔案只會從執行主要任務的計算節點上傳。

requiredSlots

integer (int32)

任務執行所需的排程時段數量。 預設值為 1。 任務只有在計算節點有足夠空閒排程槽時才能排程執行。 對於多實例任務,這必須是 1.

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

任務執行的使用者身份。 若省略,該任務將以非管理員使用者身份執行,且是任務獨一無二的使用者。

BatchTaskDependencies

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

名稱 類型 Description
taskIdRanges

BatchTaskIdRange[]

該任務所依賴的任務 ID 範圍清單。 所有範圍的任務必須成功完成,才能排程相依任務。

taskIds

string[]

該任務所依賴的任務 ID 清單。 此清單中的所有任務必須成功完成,才能排程相依任務。 taskIds 集合總長度限制為 64000 字元(即所有任務 ID 的總長度)。 如果 taskIds 集合超過最大長度,新增任務請求會因錯誤代碼 TaskDependencyListTooLong 而失敗。 在這種情況下,可以考慮改用任務識別範圍(Task ID ranges)。

BatchTaskIdRange

範圍的開始和結尾是內含的。 例如,如果範圍有 9 開始和結束 12,則它代表工作 '9'、'10'、'11' 和 '12'。

名稱 類型 Description
end

integer (int32)

範圍內最後一個任務ID。

start

integer (int32)

這是該範圍內的第一個任務ID。

ContainerHostBatchBindMountEntry

您想要掛接至工作容器的路徑和掛接模式專案。

名稱 類型 Description
isReadOnly

boolean

將此來源路徑掛接為唯讀模式或否。 默認值為 false (讀取/寫入模式)。 針對 Linux,如果您將此路徑掛接為讀取/寫入模式,這並不表示容器中的所有使用者都有路徑的讀取/寫入存取權,這取決於主機 VM 中的存取權。 如果此路徑是只讀掛接,容器內的所有使用者將無法修改路徑。

source

ContainerHostDataPath

掛接至容器客戶的路徑可以選取。

ContainerHostDataPath

要掛接至容器工作容器的路徑。

Description
Shared

要共用其檔案之多重實例工作的路徑。

Startup

開始工作的路徑。

VfsMounts

路徑包含此節點上掛接的所有虛擬檔案系統。

Task

工作路徑。

JobPrep

作業準備工作路徑。

Applications

應用程式路徑。

ContainerRegistryReference

私人容器登錄。

名稱 類型 Description
identityReference

BatchNodeIdentityReference

使用者指派身分識別的參考,用來存取 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

ExitOptions

如果任務以這個退出碼退出,批次服務應該如何回應。

ExitCodeRangeMapping

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

名稱 類型 Description
end

integer (int32)

範圍內最後一個出口代碼。

exitOptions

ExitOptions

如果任務結束時的退出代碼在開始到結束範圍內(包含),批次服務應該如何回應。

start

integer (int32)

範圍裡的第一個出口代碼。

ExitConditions

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

名稱 類型 Description
default

ExitOptions

如果任務失敗且出現其他屬性未涵蓋的退出條件,批次服務應該如何回應。 當任務結束時,任何非零的退出代碼未列入 exitCodes 或 exitCodeRanges 集合;若不存在 preProcessingError 屬性,則會發生預處理錯誤;若沒有 fileUploadError 屬性,則會發生檔案上傳錯誤。 如果你想讓退出代碼 0 有非預設行為,必須用 exitCodes 或 exitCodeRanges 集合明確列出它。

exitCodeRanges

ExitCodeRangeMapping[]

任務退出代碼範圍清單,以及批次服務應該如何回應這些代碼。

exitCodes

ExitCodeMapping[]

一份個別任務的退出代碼清單,以及批次服務應該如何回應這些代碼。

fileUploadError

ExitOptions

批次服務在檔案上傳錯誤發生時應該如何回應。 如果任務以 exitCodes 或 exitCodeRange 指定的退出代碼退出,且遇到檔案上傳錯誤,則退出代碼指定的動作將優先執行。

preProcessingError

ExitOptions

如果任務因錯誤無法啟動,批次服務應該如何回應。

ExitOptions

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

名稱 類型 Description
dependencyAction

DependencyAction

批次服務對依賴該任務的任務執行的動作。 可能的值有「滿足」(允許依賴任務繼續)和「阻擋」(依賴任務繼續等待)。 批次目前尚未支援取消相依任務。

jobAction

BatchJobActionKind

若該任務以給定的退出條件完成,且該工作 onTaskFailed 屬性為「performExitOptionsJobAction」,則該動作需對包含該任務的作業執行。 出口代碼 0 預設為 NO,其他退出條件則為 TERMINATE。 若作業的 onTaskFailed 屬性為 noaction,則指定此屬性會回傳錯誤,新增任務請求會以無效屬性值錯誤失敗;如果你直接呼叫 REST API,HTTP 狀態碼是 400(錯誤請求)。

MultiInstanceSettings

多重實例工作通常用於支援 MPI 工作。 在 MPI 案例中,如果任一子工作失敗(例如,由於以非零結束代碼結束),則整個多重實例工作會失敗。 然後,多實例工作會終止並重試,達到其重試限制。

名稱 類型 Description
commonResourceFiles

ResourceFile[]

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

coordinationCommandLine

string

指令列可在所有計算節點上執行,讓它們能協調主節點執行主要任務指令。 典型的協調命令列會啟動背景服務並驗證該服務已準備好處理節點間訊息。

numberOfInstances

integer (int32)

任務所需的計算節點數量。 若省略,預設值為 1。

OutputFile

在每個檔案上傳上,Batch 服務會將兩個記錄檔寫入計算節點 'fileuploadout.txt' 和 'fileuploaderr.txt'。 這些記錄檔可用來深入瞭解特定失敗。

名稱 類型 Description
destination

OutputFileDestination

輸出檔案的目的地。

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

OutputFileUploadConfig

上傳操作的額外選項,包括在何種情況下進行上傳。

OutputFileBlobContainerDestination

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

名稱 類型 Description
containerUrl

string (uri)

Azure Blob 儲存容器中要上傳檔案的容器網址。 若未使用管理身份,URL 必須包含共享存取簽章(SAS)以授予容器寫入權限。

identityReference

BatchNodeIdentityReference

這是用來存取 Azure Blob Storage 的使用者指派身份的參考,該身份由 containerUrl 指定。 身份必須有寫入 Azure Blob Storage 容器的權限。

path

string

Azure Storage 容器中的目的地 blob 或虛擬目錄。 如果 filePattern 指的是特定檔案(即沒有萬用字元),那麼 path 就是要上傳該檔案的 blob 名稱。 如果 filePattern 包含一個或多個通行字元(因此可能匹配多個檔案),則 path 是 blob 虛擬目錄的名稱(每個 blob 名稱前加),用來上傳檔案。 若省略,檔案會上傳到容器根節點,並附有與其檔案名稱相符的 blob 名稱。

uploadHeaders

OutputFileUploadHeader[]

一份用於上傳輸出檔案的標頭名稱與值對清單。 這些標頭會在上傳到 Azure Storage 時指定。 關於上傳 blob 時允許標頭的官方文件: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

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

名稱 類型 Description
container

OutputFileBlobContainerDestination

Azure blob 儲存中檔案上傳的位置。

OutputFileUploadCondition

OutputFileUploadCondition 枚舉

Description
tasksuccess

只有在任務程序結束後,且退出代碼為 0 後才上傳檔案。

taskfailure

只有在任務程序結束並使用非零退出碼後,才上傳檔案。

taskcompletion

任務程序結束後上傳檔案,不管退出代碼是什麼。

OutputFileUploadConfig

輸出檔案上傳作業的選項,包括執行上傳的條件。

名稱 類型 Description
uploadCondition

OutputFileUploadCondition

任務輸出檔案或一組檔案應在何種條件下上傳。 預設是任務完成。

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

BatchNodeIdentityReference

這是用來存取 Azure Blob 儲存裝置的使用者指定身份的參考,該身份由 storageContainerUrl 或 httpURL 指定。

storageContainerUrl

string (uri)

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

UserIdentity

執行工作的使用者身分識別定義。 指定userName或 autoUser 屬性,但不能同時指定兩者。

名稱 類型 Description
autoUser

AutoUserSpecification

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

username

string

任務執行時所使用的使用者身份名稱。 userName 和 autoUser 屬性互斥;您必須指定一個,但不能同時指定兩者。