Azure Batch ランタイム環境変数

Azure Batch サービスは、コンピューティング ノードで以下の環境変数を設定します。 これらの環境変数は、タスク コマンドラインと、コマンド ラインにより実行されるプログラムとスクリプトで参照できます。

Batch での環境変数の使用に関する詳細については、「タスクの環境設定」を参照してください。

環境変数の可視性

これらの環境変数は、タスク ユーザー (タスクが実行されるノードのユーザー アカウント) のコンテキストだけで表示されます。 リモート デスクトップ プロトコル (RDP) または Secure Shell (SSH) を介してコンピューター ノードにリモート接続し、環境変数を一覧表示する場合、これらの変数は表示されません。 これは、リモート接続に使用されるユーザー アカウントが、タスクで使用されるアカウントと異なることが原因です。

環境変数の現在の値を取得するには、Windows コンピューティング ノード上でcmd.exeを、またはLinux ノード上で/bin/shを起動します。

cmd /c set <ENV_VARIABLE_NAME>

/bin/sh -c "printenv <ENV_VARIABLE_NAME>"

環境変数のコマンドライン拡張

コンピューティング ノード上のタスクによって実行されるコマンドラインは、シェルの下では実行されません。 つまり、これらのコマンド ラインが環境変数の拡張 (PATH を含む) などのシェル機能をネイティブで使用できません。 このような機能を使用するには、コマンドラインでシェルを呼び出す必要があります。 たとえば、cmd.exe を Windows コンピューティング ノードで起動するか、または /bin/sh をLinux ノードで起動します。

cmd /c MyTaskApplication.exe %MY_ENV_VAR%

/bin/sh -c "MyTaskApplication $MY_ENV_VAR"

環境変数

Note

AZ_BATCH_AUTHENTICATION_TOKEN は 2024 年 9 月 30 日に廃止されます。 詳細と代替実装については、お知らせを参照してください。

変数名 説明 可用性
AZ_BATCH_ACCOUNT_NAME タスクが属する Batch アカウントの名前。 すべてのタスク。 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 が設定された場合のみに存在します。 このトークン値は、BatchClient.Open() .NET API などの Batch API 内で、Batch クライアントを作成するための資格署名として使用されます。 トークンはプライベート ネットワークをサポートしていません。 すべてのタスク。 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 タスクが割り当てられているノードの ID。 すべてのタスク。 tvm-1219235766_3-20160919t172711z
AZ_BATCH_NODE_IS_DEDICATED true の場合、現在のノードが専用ノードです。 false の場合は、Azure スポット ノード です。 すべてのタスク。 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.txtstderr.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> ...、ノードの番号の後に 1 つまたは複数のノード IP アドレスと、それぞれのコア数が続きます。
マルチ インスタンスのプライマリおよびサブタスク。 2 10.0.0.4 1 10.0.0.5 1

次のステップ