Azure Batch 執行階段環境變數
Azure Batch 服務會在計算節點上設定下列環境變數。 您可以在工作命令列中,以及由該命令列執行的程式及指令碼中,參照這些環境變數。
如需有關使用環境變數搭配 Batch 的詳細資訊,請參閱工作的環境設定。
環境變數可見性
這些環境變數僅適用於工作使用者情境,意即工作執行所在節點的使用者帳戶。 若是透過遠端桌面通訊協定 (RDP) 或安全殼層 (SSH) 遠端連線至計算節點,並列出環境變數,您便不會看到這些變數。 這是因為用於遠端連線的使用者帳戶與工作所用的帳戶不同。
若要取得環境變數的目前值,請在 Windows 計算節點上啟動 cmd.exe
,或在 Linux 節點上啟動 /bin/sh
:
cmd /c set <ENV_VARIABLE_NAME>
/bin/sh -c "printenv <ENV_VARIABLE_NAME>"
環境變數的命令列擴充功能
在計算節點上,工作執行的命令列不會在殼層下執行。 這表示這些命令列無法原生使用殼層功能,例如環境變數擴充 (包含 PATH
)。 若要使用此類功能,則須透過命令列叫用殼層。 例如,在 Windows 計算節點上啟動 cmd.exe
,或在 Linux 節點上啟動 /bin/sh
:
cmd /c MyTaskApplication.exe %MY_ENV_VAR%
/bin/sh -c "MyTaskApplication $MY_ENV_VAR"
環境變數
注意
AZ_BATCH_AUTHENTICATION_TOKEN
已被取代,將於 2024 年 9 月 30 日淘汰。 如需詳細資料和替代實作,請參閱公告。
變數名稱 | 描述 | 可用性 | 範例 |
---|---|---|---|
AZ_BATCH_ACCOUNT_NAME | 工作所屬之批次帳戶的名稱。 | 所有工作。 | mybatchaccount |
AZ_BATCH_ACCOUNT_URL | Batch 帳戶的 URL。 | 所有工作。 | https://myaccount.westus.batch.azure.com |
AZ_BATCH_APP_PACKAGE | 所有應用程式套件環境變數的前置詞。 例如,如果應用程式 "Foo" 的版本 "1" 安裝在集區上,則環境變數是 AZ_BATCH_APP_PACKAGE_FOO_1 (在 Linux 上) 或 AZ_BATCH_APP_PACKAGE_FOO#1 (在 Windows 上)。 AZ_BATCH_APP_PACKAGE_FOO_1 指向套件的下載位置 (資料夾)。 使用預設版本的應用程式套件時,請使用不含版本號碼的 AZ_BATCH_APP_PACKAGE 環境變數。 如果在 Linux 中,且應用程式套件名稱為 "Agent-linux-x64",版本為 "1.1.46.0",則環境名稱實際上是:AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0 (使用底線和小寫)。 如需詳細資訊,請參閱執行已安裝的應用程式以取得詳細資訊。 | 與應用程式套件相關聯的任何工作。 如果節點本身有應用程式套件,也適用於所有的工作。 | AZ_BATCH_APP_PACKAGE_FOO_1 (Linux) 或 AZ_BATCH_APP_PACKAGE_FOO#1 (Windows) |
AZ_BATCH_AUTHENTICATION_TOKEN | 驗證權杖,可授與一組有限 Batch 服務作業的存取權。 只有在設定新增工作時設定 authenticationTokenSettings,此環境變數才存在。 權杖值會在 Batch API 中作為認證來建立 Batch 用戶端,例如在 BatchClient.Open() .NET API。 此權杖不支援私人網路。 | 所有工作。 | OAuth2 存取權杖 |
AZ_BATCH_CERTIFICATES_DIR | 系統為 Linux 計算節點儲存憑證所在工作工作目錄內的目錄。 這個環境變數不會套用至 Windows 計算節點。 | 所有工作。 | /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs |
AZ_BATCH_HOST_LIST | 配置給多重執行個體工作的節點清單,清單格式為 nodeIP,nodeIP 。 |
多重執行個體的主要工作和子工作。 | 10.0.0.4,10.0.0.5 |
AZ_BATCH_IS_CURRENT_NODE_MASTER | 指定目前節點是否為多重執行個體工作的主要節點。 可能的值是 true 和 false 。 |
多重執行個體的主要工作和子工作。 | true |
AZ_BATCH_JOB_ID | 工作所屬之作業的 ID。 | 啟動工作之外的所有工作。 | batchjob001 |
AZ_BATCH_JOB_PREP_DIR | 節點上作業準備工作目錄的完整路徑。 | 啟動工作與作業準備工作之外的所有工作。 僅適用於透過作業準備工作設定作業時。 | C:\user\tasks\workitems\jobprepreleasesamplejob\job-1\jobpreparation |
AZ_BATCH_JOB_PREP_WORKING_DIR | 節點上作業準備工作工作目錄的完整路徑。 | 啟動工作與作業準備工作之外的所有工作。 僅適用於透過作業準備工作設定作業時。 | C:\user\tasks\workitems\jobprepreleasesamplejob\job-1\jobpreparation\wd |
AZ_BATCH_MASTER_NODE | 多重執行個體工作的主要工作執行所在的計算節點其 IP 位址與連接埠。 請不要將這裡指定的連接埠用於 MPI 或 NCCL 通訊,因為其是保留給 Azure Batch 服務。 請改用變數 MASTER_PORT,方法是使用透過命令列引數傳入的值來設定此變數 (連接埠 6105 是不錯的預設選項),或使用值 AML 來設定 (如果可以這樣做)。 | 多重執行個體的主要工作和子工作。 | 10.0.0.4:6000 |
AZ_BATCH_NODE_ID | 將工作指派至該節點的識別碼。 | 所有工作。 | tvm-1219235766_3-20160919t172711z |
AZ_BATCH_NODE_IS_DEDICATED | 若為 true ,目前的節點就是專用節點。 若為 false ,則為 Azure Spot 節點。 |
所有工作。 | true |
AZ_BATCH_NODE_LIST | 配置給多重執行個體工作的節點清單,清單格式為 nodeIP;nodeIP 。 |
多重執行個體的主要工作和子工作。 | 10.0.0.4;10.0.0.5 |
AZ_BATCH_NODE_MOUNTS_DIR | 節點層級檔案系統裝載位置的完整路徑,這是所有裝載目錄所在的位置。 Windows 檔案共用會使用磁碟機代號,因此對於 Windows,裝載磁碟是裝置和磁碟機的一部分。 | 所有工作 (包括啟動工作) 都可存取使用者,假設使用者知道所裝載目錄的裝載權限。 | 例如,在 Ubuntu 中,位置是:/mnt/batch/tasks/fsmounts |
AZ_BATCH_NODE_ROOT_DIR | 節點上所有 Batch 目錄其根目錄的完整路徑。 | 所有工作。 | C:\user\tasks |
AZ_BATCH_NODE_SHARED_DIR | 節點上共用目錄的完整路徑。 在節點上執行的所有工作皆具備此目錄的讀取/寫入存取權。 在其他節點上執行的工作沒有遠端存取此目錄 (它不是「共用的」網路目錄) 的權限。 | 所有工作。 | C:\user\tasks\shared |
AZ_BATCH_NODE_STARTUP_DIR | 節點上啟動工作目錄的完整路徑。 | 所有工作。 | C:\user\tasks\startup |
AZ_BATCH_POOL_ID | 執行工作之集區的 ID。 | 所有工作。 | batchpool001 |
AZ_BATCH_TASK_DIR | 節點上工作目錄的完整路徑。 此目錄包含工作的 stdout.txt 與 stderr.txt ,以及 AZ_BATCH_TASK_WORKING_DIR。 |
所有工作。 | C:\user\tasks\workitems\batchjob001\job-1\task001 |
AZ_BATCH_TASK_ID | 目前工作的 ID。 | 啟動工作之外的所有工作。 | task001 |
AZ_BATCH_TASK_SHARED_DIR | 多重執行個體工作的主要工作與每個子工作相同的目錄路徑。 此路徑存在於多重執行個體工作執行所在的每個節點上,且可由在該節點上執行的工作命令 (協調命令與應用程式命令) 以讀取/寫入的方式存取。 在其他節點上執行的子工作或主要工作沒有遠端存取此目錄 (其不是「共用的」網路目錄) 的權限。 | 多重執行個體的主要工作和子工作。 | C:\user\tasks\workitems\multiinstancesamplejob\job-1\multiinstancesampletask |
AZ_BATCH_TASK_WORKING_DIR | 節點上工作工作目錄的完整路徑。 目前執行中工作具有此目錄的讀取/寫入存取權。 | 所有工作。 | C:\user\tasks\workitems\batchjob001\job-1\task001\wd |
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES | 目前磁碟空間臨界值 (到達時 VM 將標示為 DiskFull )。 |
所有工作。 | 1000000 |
CCP_NODES | 各節點配置給多重執行個體工作的節點清單與核心數目。 列出節點與核心的格式為:numNodes<space>node1IP<space>node1Cores<space> node2IP<space>node2Cores<space> ... ,其中節點數目後面會加上一或多個節點 IP 位址,及每個節點的核心數目。 |
多重執行個體的主要工作和子工作。 | 2 10.0.0.4 1 10.0.0.5 1 |
下一步
- 了解如何搭配 Batch 使用環境變數。
- 了解 Batch 中的檔案和目錄
- 了解多重執行個體工作。