BatchTaskCreateOptions interface
用於建立 Azure Batch 工作的參數。
屬性
| affinity |
一個區域性提示,批次服務可用來選擇一個計算節點來啟動新任務。 |
| application |
批次服務會在執行命令列前部署到運算節點的套件清單。 應用程式套件會被下載並部署到共享目錄,而非任務工作目錄。 因此,如果參考的套件已經在節點上且是最新的,則不會重新下載;使用計算節點上現有的副本。 若無法安裝參考的套件,例如因套件已被刪除或下載失敗,任務即失敗。 |
| authentication |
工作可用來執行 Batch 服務作業之驗證令牌的設定。 若設定此屬性,批次服務會提供任務認證權杖,可用於驗證批次服務操作,無需帳號存取金鑰。 權杖是透過AZ_BATCH_AUTHENTICATION_TOKEN環境變數提供的。 任務能使用該標記執行的操作取決於設定。 例如,任務可以請求工作權限以新增其他任務到該工作,或檢查該工作或工作下其他任務的狀態。 |
| command |
任務的指令列。 對於多實例任務,命令列作為主要任務執行,當主要任務及所有子任務完成協調命令列執行後。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對路徑(相對於Task工作目錄),或使用 Batch 提供的環境變數 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。 |
| constraints | 適用於此任務的執行約束。 如果你沒有指定限制條件,maxTaskRetryCount 就是該工作指定的 maxTaskRetryCount,maxWallClockTime 是無限長,retentionTime 是 7 天。 |
| container |
任務執行容器的設定。 如果執行此任務的池子有 containerConfiguration 設定,也必須設定此設定。 如果執行此任務的池沒有設定 containerConfiguration ,則必須不要設定。 當指定此位置時,所有位於AZ_BATCH_NODE_ROOT_DIR(節點上 Azure Batch 目錄根節點)下方的目錄會遞迴地映射到容器中,所有任務環境變數也映射到容器中,任務命令列則在容器中執行。 容器中產生的檔案可能不會被反映到主機磁碟AZ_BATCH_NODE_ROOT_DIR,導致批次檔案 API 無法存取這些檔案。 |
| depends |
這項任務所依賴的任務。 此任務在所有依賴任務成功完成後才會排程。 若任何任務失敗且重試次數用盡,該任務將永遠無法排程。 若工作未將 usesTaskDependencies 設為 true,且該元素存在,則請求會因錯誤代碼 TaskDependenciesNotSpecifiedOnJob 而失敗。 |
| display |
任務的顯示名稱。 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。 |
| environment |
任務的環境變數設定清單。 |
| exit |
批次服務在任務完成時應該如何回應。 |
| id | 一個字串,唯一識別工作中的任務。 標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 ID 是保留大小寫且不區分大小寫的(也就是說,你在一個職位中不能有兩個只因案例不同而異的 ID)。 |
| multi |
一個表示該任務為多實例任務的物件,並包含如何執行多實例任務的資訊。 |
| output |
批次服務執行命令列後會從計算節點上傳的檔案清單。 對於多實例任務,檔案只會從執行主要任務的計算節點上傳。 |
| required |
任務執行所需的排程時段數量。 預設值為 1。 任務只有在計算節點有足夠空閒排程槽時才能排程執行。 對於多實例任務,這必須是 1. |
| resource |
Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 對於多實例任務,資源檔案只會被下載到執行主要任務的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。 |
| user |
任務執行的使用者身份。 若省略,該任務將以非管理員使用者身份執行,且是任務獨一無二的使用者。 |
屬性詳細資料
affinityInfo
applicationPackageReferences
批次服務會在執行命令列前部署到運算節點的套件清單。 應用程式套件會被下載並部署到共享目錄,而非任務工作目錄。 因此,如果參考的套件已經在節點上且是最新的,則不會重新下載;使用計算節點上現有的副本。 若無法安裝參考的套件,例如因套件已被刪除或下載失敗,任務即失敗。
applicationPackageReferences?: BatchApplicationPackageReference[]
屬性值
authenticationTokenSettings
工作可用來執行 Batch 服務作業之驗證令牌的設定。 若設定此屬性,批次服務會提供任務認證權杖,可用於驗證批次服務操作,無需帳號存取金鑰。 權杖是透過AZ_BATCH_AUTHENTICATION_TOKEN環境變數提供的。 任務能使用該標記執行的操作取決於設定。 例如,任務可以請求工作權限以新增其他任務到該工作,或檢查該工作或工作下其他任務的狀態。
authenticationTokenSettings?: AuthenticationTokenSettings
屬性值
commandLine
任務的指令列。 對於多實例任務,命令列作為主要任務執行,當主要任務及所有子任務完成協調命令列執行後。 命令行不會在殼層下執行,因此無法利用殼層功能,例如環境變數擴充。 如果您想要利用這些功能,您應該在命令行中叫用殼層,例如在 Windows 中使用 “cmd /c MyCommand”,或在 Linux 中使用 “/bin/sh -c MyCommand”。 如果命令行參考檔案路徑,它應該使用相對路徑(相對於Task工作目錄),或使用 Batch 提供的環境變數 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。
commandLine: string
屬性值
string
constraints
適用於此任務的執行約束。 如果你沒有指定限制條件,maxTaskRetryCount 就是該工作指定的 maxTaskRetryCount,maxWallClockTime 是無限長,retentionTime 是 7 天。
constraints?: BatchTaskConstraints
屬性值
containerSettings
任務執行容器的設定。 如果執行此任務的池子有 containerConfiguration 設定,也必須設定此設定。 如果執行此任務的池沒有設定 containerConfiguration ,則必須不要設定。 當指定此位置時,所有位於AZ_BATCH_NODE_ROOT_DIR(節點上 Azure Batch 目錄根節點)下方的目錄會遞迴地映射到容器中,所有任務環境變數也映射到容器中,任務命令列則在容器中執行。 容器中產生的檔案可能不會被反映到主機磁碟AZ_BATCH_NODE_ROOT_DIR,導致批次檔案 API 無法存取這些檔案。
containerSettings?: BatchTaskContainerSettings
屬性值
dependsOn
這項任務所依賴的任務。 此任務在所有依賴任務成功完成後才會排程。 若任何任務失敗且重試次數用盡,該任務將永遠無法排程。 若工作未將 usesTaskDependencies 設為 true,且該元素存在,則請求會因錯誤代碼 TaskDependenciesNotSpecifiedOnJob 而失敗。
dependsOn?: BatchTaskDependencies
屬性值
displayName
任務的顯示名稱。 顯示名稱不是唯一的,而且可以包含最大長度為 1024 的任何 Unicode 字元。
displayName?: string
屬性值
string
environmentSettings
exitConditions
id
一個字串,唯一識別工作中的任務。 標識元可以包含英數位元的任何組合,包括連字元和底線,而且不能包含超過 64 個字元。 ID 是保留大小寫且不區分大小寫的(也就是說,你在一個職位中不能有兩個只因案例不同而異的 ID)。
id: string
屬性值
string
multiInstanceSettings
一個表示該任務為多實例任務的物件,並包含如何執行多實例任務的資訊。
multiInstanceSettings?: MultiInstanceSettings
屬性值
outputFiles
requiredSlots
任務執行所需的排程時段數量。 預設值為 1。 任務只有在計算節點有足夠空閒排程槽時才能排程執行。 對於多實例任務,這必須是 1.
requiredSlots?: number
屬性值
number
resourceFiles
Batch 服務在執行命令行之前,會先下載至計算節點的檔案清單。 對於多實例任務,資源檔案只會被下載到執行主要任務的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。
resourceFiles?: ResourceFile[]