BatchTaskCreateOptions interface
Azure Batch タスクを作成するためのパラメーター。
プロパティ
| affinity |
バッチサービスが新しいタスクを開始する計算ノードを選択するために使用できる局所性のヒントです。 |
| application |
バッチサービスがコマンドラインを実行する前にコンピュートノードにデプロイするパッケージのリストです。 アプリケーションパッケージはタスクワーキングディレクトリではなく、共有ディレクトリにダウンロード・デプロイされます。 したがって、参照されたパッケージがすでにノード上にあり、かつ最新のものであれば再ダウンロードされません。コンピュートノード上の既存のコピーが使用されます。 参照されたパッケージが削除されたりダウンロードに失敗した場合、タスクは失敗します。 |
| authentication |
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されると、バッチサービスはタスクに認証トークンを提供し、アカウントアクセスキーを必要とせずにバッチサービス操作を認証できます。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使って実行できる操作は設定によって異なります。 例えば、タスクはジョブ権限を要求して他のタスクを追加したり、ジョブやジョブ内の他のタスクの状態を確認したりできます。 |
| command |
タスクのコマンドライン。 マルチインスタンスタスクの場合、コマンドラインはプライマリタスクおよびすべてのサブタスクがコーディネーションコマンドラインの実行を終えた後にプライマリタスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。 |
| constraints | このタスクに適用される実行制約。 制約を指定しない場合、maxTaskRetryCountはジョブに指定されたmaxTaskRetryCountで、maxWallClockTimeは無限、retentionTimeは7日です。 |
| container |
タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。 |
| depends |
このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。 もしジョブの usesTaskDependencies が true に設定されておらず、この要素が存在する場合、TaskDependenciesNotSpecifiedOnJob というエラーコードでリクエストが失敗します。 |
| display |
タスクの表示名です。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。 |
| environment |
タスクの環境変数設定の一覧。 |
| exit |
タスクが完了したときにバッチサービスがどのように応答すべきか。 |
| id | ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 IDは大文字保持型で大文字に区別されない(つまり、同じジョブ内でケースごとに異なるIDが2つ存在しない場合があります)。 |
| multi |
タスクがマルチインスタンスタスクであることを示し、そのタスクの実行方法に関する情報を含むオブジェクトです。 |
| output |
コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。 |
| required |
タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1. |
| resource |
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンスタスクの場合、リソースファイルはプライマリタスクが実行されるコンピュートノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 |
| user |
タスクが動作するユーザーIDです。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。 |
プロパティの詳細
affinityInfo
バッチサービスが新しいタスクを開始する計算ノードを選択するために使用できる局所性のヒントです。
affinityInfo?: BatchAffinityInfo
プロパティ値
applicationPackageReferences
バッチサービスがコマンドラインを実行する前にコンピュートノードにデプロイするパッケージのリストです。 アプリケーションパッケージはタスクワーキングディレクトリではなく、共有ディレクトリにダウンロード・デプロイされます。 したがって、参照されたパッケージがすでにノード上にあり、かつ最新のものであれば再ダウンロードされません。コンピュートノード上の既存のコピーが使用されます。 参照されたパッケージが削除されたりダウンロードに失敗した場合、タスクは失敗します。
applicationPackageReferences?: BatchApplicationPackageReference[]
プロパティ値
authenticationTokenSettings
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されると、バッチサービスはタスクに認証トークンを提供し、アカウントアクセスキーを必要とせずにバッチサービス操作を認証できます。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使って実行できる操作は設定によって異なります。 例えば、タスクはジョブ権限を要求して他のタスクを追加したり、ジョブやジョブ内の他のタスクの状態を確認したりできます。
authenticationTokenSettings?: AuthenticationTokenSettings
プロパティ値
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
constraints
このタスクに適用される実行制約。 制約を指定しない場合、maxTaskRetryCountはジョブに指定されたmaxTaskRetryCountで、maxWallClockTimeは無限、retentionTimeは7日です。
constraints?: BatchTaskConstraints
プロパティ値
containerSettings
タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。
containerSettings?: BatchTaskContainerSettings
プロパティ値
dependsOn
このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。 もしジョブの usesTaskDependencies が true に設定されておらず、この要素が存在する場合、TaskDependenciesNotSpecifiedOnJob というエラーコードでリクエストが失敗します。
dependsOn?: BatchTaskDependencies
プロパティ値
displayName
タスクの表示名です。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。
displayName?: string
プロパティ値
string
environmentSettings
exitConditions
id
ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 IDは大文字保持型で大文字に区別されない(つまり、同じジョブ内でケースごとに異なるIDが2つ存在しない場合があります)。
id: string
プロパティ値
string
multiInstanceSettings
タスクがマルチインスタンスタスクであることを示し、そのタスクの実行方法に関する情報を含むオブジェクトです。
multiInstanceSettings?: MultiInstanceSettings
プロパティ値
outputFiles
コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。
outputFiles?: OutputFile[]
プロパティ値
requiredSlots
タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1.
requiredSlots?: number
プロパティ値
number
resourceFiles
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンスタスクの場合、リソースファイルはプライマリタスクが実行されるコンピュートノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。
resourceFiles?: ResourceFile[]