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
を含む) などのシェル機能をネイティブに使用することはできません。 このような機能を使用するには、コマンド ラインでシェルを呼び出す必要があります。 たとえば、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 | タスクが属する Batch アカウントの名前。 | すべてのタスク。 | マイバッチアカウント |
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 クライアントを作成するための資格情報として Batch API で使用されます ( 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。 | 開始タスクを除くすべてのタスク。 | バッチジョブ001 |
AZ_BATCH_JOB_PREP_DIR | ノード上のジョブ準備タスク ディレクトリの完全パス。 | 開始タスクおよびジョブ準備タスクを除くすべてのタスク。 ジョブがジョブ準備タスクで構成されている場合にのみ使用できます。 | AZ_BATCH_JOB_PREP_DIR |
AZ_BATCH_JOB_PREP_WORKING_DIR | ノード上にあるジョブ準備用タスク作業ディレクトリの完全パス。 | 開始タスクおよびジョブ準備タスクを除くすべてのタスク。 ジョブがジョブ準備タスクで構成されている場合にのみ使用できます。 | AZ_BATCH_JOB_PREP_WORKING_DIR |
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 の場合、マウント ドライブはデバイスとドライブの一部です。 | ユーザーがマウントされたディレクトリのマウントアクセス許可を認識している場合、開始タスクを含むすべてのタスクはユーザーにアクセスできます。 | AZ_BATCH_NODE_MOUNTS_DIR |
AZ_BATCH_NODE_ROOT_DIR | ノード上のすべての Batch ディレクトリ のルートの完全パス。 | すべてのタスク。 | AZ_BATCH_NODE_ROOT_DIR |
AZ_BATCH_NODE_SHARED_DIR | ノード上の 共有ディレクトリ の完全なパス。 ノードで実行されるすべてのタスクには、このディレクトリへの読み取り/書き込みアクセス権があります。 他のノードで実行されるタスクは、このディレクトリへのリモート アクセス権を持っていません ("共有" ネットワーク ディレクトリではありません)。 | すべてのタスク。 | AZ_BATCH_NODE_SHARED_DIR |
AZ_BATCH_NODE_STARTUP_DIR | ノード上の 開始タスク ディレクトリ の完全パス。 | すべてのタスク。 | AZ_BATCH_NODE_STARTUP_DIR |
AZ_BATCH_POOL_ID | タスクが実行されているプールの ID。 | すべてのタスク。 | バッチプール001 |
AZ_BATCH_TASK_DIR | ノード上の タスク ディレクトリ の完全パス。 このディレクトリには、タスクの stdout.txt と stderr.txt 、およびAZ_BATCH_TASK_WORKING_DIRが含まれます。 |
すべてのタスク。 | AZ_BATCH_TASK_DIR |
AZ_BATCH_TASK_ID | 現在のタスクの ID。 | 開始タスクを除くすべてのタスク。 | タスク001 |
AZ_BATCH_TASK_SHARED_DIR | プライマリ タスクと マルチインスタンス タスクのすべてのサブタスクで同じディレクトリ パス。 パスは、マルチインスタンス タスクを実行するすべてのノードに存在し、そのノードで実行されているタスク コマンド ( 調整コマンド と アプリケーション コマンドの両方) から読み取り/書き込みアクセスできます。 サブタスクまたは他のノードで実行されるプライマリ タスクは、このディレクトリにリモート アクセスできません ("共有" ネットワーク ディレクトリではありません)。 | 複数インスタンスのプライマリタスクとサブタスク。 | AZ_BATCH_TASK_SHARED_DIR |
AZ_BATCH_TASK_WORKING_DIR | ノード上の タスク作業ディレクトリ の完全パス。 現在実行中のタスクには、このディレクトリへの読み取り/書き込みアクセス権があります。 | すべてのタスク。 | AZ_BATCH_TASK_WORKING_DIR |
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 |
重要
環境変数のパスの正確な値は実装の詳細と見なされ、変更される可能性があります。 生のパス表現を構築する代わりに、Batch によって提供される環境変数を使用します。
ディレクトリの場所に関連する環境変数
次の表は、AZ_BATCH_NODE_ROOT_DIR値の後の各環境変数値の後置の値を指定します。詳細については、 AZ_BATCH_NODE_ROOT_DIR を参照してください。
環境変数の名前 | 環境変数値ディレクトリの後置 |
---|---|
AZ_BATCH_NODE_STARTUP_DIR | startup |
AZ_BATCH_NODE_SHARED_DIR | shared |
AZ_BATCH_NODE_MOUNTS_DIR | fsmounts |
ディレクトリの場所に関連するタスク環境変数
ジョブ ディレクトリは、 単一実行ジョブ と ジョブ スケジュールによって異なります。 次の表では、単一実行ジョブとジョブ スケジュールのジョブ ディレクトリの値を指定します。
ジョブの種類 | AZ_BATCH_NODE_ROOT_DIR 後のジョブ ディレクトリ値の後置 |
---|---|
仕事 | workitems\{job name}\job-1 |
ジョブ スケジュール | workitems\{job schedule name}\{job name} |
次の表は、ジョブ・ディレクトリーの後の各環境変数値の後置の値を指定します。
環境変数の名前 | ジョブディレクトリの後に位置する環境変数値ディレクトリ |
---|---|
AZ_BATCH_TASK_WORKING_DIR | {task name}\wd |
AZ_BATCH_TASK_DIR | {task name} |
AZ_BATCH_TASK_SHARED_DIR | {task name} |
AZ_BATCH_JOB_PREP_DIR | {job prepration task name} |
AZ_BATCH_JOB_PREP_WORKING_DIR | {job prepration task name}\wd |
次のステップ
- Batch で環境変数を使用する方法について説明します。
- Batch のファイルとディレクトリの詳細
- マルチインスタンス タスクについて説明します。