Azure Batch では、各タスクには、ファイルとディレクトリを作成できる作業ディレクトリがあります。 この作業ディレクトリは、タスクによって実行されるプログラム、処理するデータ、およびタスクが実行する処理の出力を格納するために使用できます。 タスクのすべてのファイルとディレクトリは、タスク ユーザーによって所有されます。
Batch サービスは、ノード上のファイル システムの一部を ルート ディレクトリとして公開します。 このルート ディレクトリは、OS ドライブに直接ではなく、VM の一時ストレージ ドライブに配置されます。
タスクは、 AZ_BATCH_NODE_ROOT_DIR
環境変数を参照することでルート ディレクトリにアクセスできます。 環境変数の使用の詳細については、「 タスクの環境設定」を参照してください。
ルート ディレクトリ構造
ルート ディレクトリには、次のディレクトリ構造が含まれています。
applications: コンピューティング ノードにインストールされているアプリケーション パッケージの詳細に関する情報が含まれています。 タスクは、
AZ_BATCH_APP_PACKAGE
環境変数を参照することで、このディレクトリにアクセスできます。fsmounts: ディレクトリには、コンピューティング ノードにマウントされているファイル システムが含まれています。 タスクは、
AZ_BATCH_NODE_MOUNTS_DIR
環境変数を参照することで、このディレクトリにアクセスできます。 詳細については、「 Batch プールへの仮想ファイル システムのマウント」を参照してください。共有: このディレクトリは、ノードで実行 されるすべての タスクに対する読み取り/書き込みアクセスを提供します。 ノードで実行されるすべてのタスクは、このディレクトリ内のファイルを作成、読み取り、更新、および削除できます。 タスクは、
AZ_BATCH_NODE_SHARED_DIR
環境変数を参照することで、このディレクトリにアクセスできます。startup: このディレクトリは、作業ディレクトリとして開始タスクによって使用されます。 開始タスクによってノードにダウンロードされるすべてのファイルがここに格納されます。 開始タスクでは、このディレクトリの下にファイルを作成、読み取り、更新、および削除できます。 タスクは、
AZ_BATCH_NODE_STARTUP_DIR
環境変数を参照することで、このディレクトリにアクセスできます。volatile: このディレクトリは内部目的です。 このディレクトリ内のファイルや、ディレクトリ自体が将来存在するという保証はありません。
workitems: このディレクトリには、コンピューティング ノード上のジョブとそのタスクのディレクトリが含まれています。
workitems ディレクトリ内には、ノードで実行されるタスクごとに Tasks ディレクトリが作成されます。 このディレクトリには、
AZ_BATCH_TASK_DIR
環境変数を参照することでアクセスできます。Batch サービスは、各タスク ディレクトリ内に、
wd
環境変数で一意のパスを指定する作業ディレクトリ (AZ_BATCH_TASK_WORKING_DIR
) を作成します。 このディレクトリは、タスクへの読み取り/書き込みアクセスを提供します。 タスクでは、このディレクトリの下にファイルを作成、読み取り、更新、および削除できます。 このディレクトリは、タスクに指定された RetentionTime 制約に基づいて保持されます。stdout.txt
ファイルとstderr.txt
ファイルは、タスクの実行中に Tasks フォルダーに書き込まれます。
重要
ノードがプールから削除されると、ノードに格納されているすべてのファイルが削除されます。
Batch ルート ディレクトリの場所
AZ_BATCH_NODE_ROOT_DIR
コンピューティング ノード環境変数の値は、VM のサイズとローカルの一時ディスクの存在によって決まります。
ローカル一時ディスクが存在する | オペレーティング システムの種類 |
AZ_BATCH_NODE_ROOT_DIR 値 |
---|---|---|
いいえ | Linux | /opt/batch/data |
イエス | Linux |
/mnt/batch または /mnt/resource/batch |
いいえ | ウィンドウズ | C:\batch\data |
イエス | ウィンドウズ | D:\batch |
これらの環境変数の値は実装の詳細であり、不変と見なすべきではありません。 これらの値はいつでも変更される可能性があるため、値をハードコーディングするのではなく、環境変数を使用することをお勧めします。
次のステップ
- Azure Batch での エラー処理と検出 について説明します。