次の方法で共有


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を含む) などのシェル機能をネイティブに使用することはできません。 このような機能を使用するには、コマンド ラインでシェルを呼び出す必要があります。 たとえば、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.txtstderr.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

次のステップ