BatchJobReleaseTask interface
ジョブが実行されている任意のコンピューティング ノードでジョブの完了時に実行するジョブ解放タスク。 ジョブ解放タスクは、ジョブの終了時に実行されます。ジョブがアクティブな間にユーザーがジョブ終了 API を呼び出すか、ジョブの削除 API を呼び出すか、ジョブの最大ウォール クロック時間制約に達し、ジョブがまだアクティブであるか、ジョブのジョブ マネージャー タスクが完了し、ジョブ マネージャーが完了したときにジョブが終了するように構成されます。 ジョブ解放タスクは、ジョブのタスクが実行され、ジョブ準備タスクが実行されて完了した各ノードで実行されます。 ジョブ準備タスクを実行した後にノードを再イメージ化し、そのノードで実行されているジョブのタスクを追加せずにジョブを終了した場合 (そのため、ジョブ準備タスクは再実行されません)、ジョブ解放タスクはそのコンピューティング ノードでは実行されません。 ジョブ解放タスクの実行中にノードが再起動した場合、コンピューティング ノードの起動時にジョブ解放タスクが再度実行されます。 ジョブは、すべてのジョブ解放タスクが完了するまで完了としてマークされません。 ジョブ解放タスクはバックグラウンドで実行されます。 スケジュール スロットは占有されません。つまり、プールで指定された taskSlotsPerNode の制限にはカウントされません。
プロパティ
| command |
ジョブリリースタスクのコマンドラインです。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。 |
| container |
ジョブリリースタスクが実行されるコンテナの設定。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。 |
| environment |
ジョブリリースタスクの環境変数設定の一覧です。 |
| id | ジョブ内のジョブリリースタスクを一意に識別する文字列です。 IDはハイフンやアンダースコアを含む英数字の任意の組み合わせを含み、64文字を超えてはなりません。 このプロパティを指定しない場合、バッチサービスはデフォルトの値として「ジョブリリース」を割り当てます。 ジョブ内の他のタスクはジョブリリースタスクと同じIDを持つことはできません。 同じIDでタスクを送信しようとすると、バッチサービスはエラーコードTaskIdSameAsJobReleaseTaskでリクエストを拒否します。REST APIを直接呼び出す場合、HTTPステータスコードは409(Conflict)です。 |
| max |
ジョブリリースタスクが特定の計算ノード上で実行可能な最大経過時間(タスク開始時から測定)。 タスクが期限内に完了しない場合、バッチサービスはタスクを終了します。 既定値は 15 分です。 15分を超えるタイムアウトは指定できません。 もしそうすると、バッチサービスはエラーを出して拒否します。REST APIを直接呼び出している場合、HTTPステータスコードは400(Bad Request)です。 |
| resource |
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 この要素の下に一覧表示されるファイルは、タスクの作業ディレクトリにあります。 |
| retention |
Compute Node上のジョブリリースタスクのタスクディレクトリを保持する最小時間。 この時間が経過すると、バッチサービスはタスクディレクトリとそのすべての内容を削除することができます。 デフォルトは7日間で、つまりCompute Nodeが削除されるかジョブが削除されない限り、タスクディレクトリは7日間保持されます。 |
| user |
ジョブリリースタスクが実行されるユーザー識別番号。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。 |
プロパティの詳細
commandLine
ジョブリリースタスクのコマンドラインです。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。
commandLine: string
プロパティ値
string
containerSettings
ジョブリリースタスクが実行されるコンテナの設定。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。
containerSettings?: BatchTaskContainerSettings
プロパティ値
environmentSettings
id
ジョブ内のジョブリリースタスクを一意に識別する文字列です。 IDはハイフンやアンダースコアを含む英数字の任意の組み合わせを含み、64文字を超えてはなりません。 このプロパティを指定しない場合、バッチサービスはデフォルトの値として「ジョブリリース」を割り当てます。 ジョブ内の他のタスクはジョブリリースタスクと同じIDを持つことはできません。 同じIDでタスクを送信しようとすると、バッチサービスはエラーコードTaskIdSameAsJobReleaseTaskでリクエストを拒否します。REST APIを直接呼び出す場合、HTTPステータスコードは409(Conflict)です。
id?: string
プロパティ値
string
maxWallClockTime
ジョブリリースタスクが特定の計算ノード上で実行可能な最大経過時間(タスク開始時から測定)。 タスクが期限内に完了しない場合、バッチサービスはタスクを終了します。 既定値は 15 分です。 15分を超えるタイムアウトは指定できません。 もしそうすると、バッチサービスはエラーを出して拒否します。REST APIを直接呼び出している場合、HTTPステータスコードは400(Bad Request)です。
maxWallClockTime?: string
プロパティ値
string
resourceFiles
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 この要素の下に一覧表示されるファイルは、タスクの作業ディレクトリにあります。
resourceFiles?: ResourceFile[]
プロパティ値
retentionTime
Compute Node上のジョブリリースタスクのタスクディレクトリを保持する最小時間。 この時間が経過すると、バッチサービスはタスクディレクトリとそのすべての内容を削除することができます。 デフォルトは7日間で、つまりCompute Nodeが削除されるかジョブが削除されない限り、タスクディレクトリは7日間保持されます。
retentionTime?: string
プロパティ値
string
userIdentity
ジョブリリースタスクが実行されるユーザー識別番号。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。
userIdentity?: UserIdentity