次の方法で共有


TaskAddParameter interface

Batch は、ノードで復旧操作がトリガーされたときにタスクを再試行します。 復旧操作の例としては、異常なノードが再起動されたときや、ホスト障害が原因でコンピューティング ノードが消えた場合などです (ただし、これらに限定されません)。 回復操作による再試行は独立しており、maxTaskRetryCount に対してカウントされません。 maxTaskRetryCount が 0 の場合でも、復旧操作による内部再試行が発生する可能性があります。 このため、すべてのタスクはべき等である必要があります。 つまり、タスクは、破損やデータの重複を引き起こさずに中断および再起動されることを許容する必要があります。 実行時間の長いタスクのベスト プラクティスは、何らかの形式のチェックポイント処理を使用することです。

プロパティ

affinityInfo

Batch サービスが新しいタスクを開始するコンピューティング ノードを選択するために使用できるローカリティ ヒント。

applicationPackageReferences

コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにデプロイするパッケージの一覧。 アプリケーション パッケージは、タスク作業ディレクトリではなく、共有ディレクトリにダウンロードおよびデプロイされます。 したがって、参照されているパッケージが既にノード上にあり、最新の状態である場合、再ダウンロードされません。コンピューティング ノード上の既存のコピーが使用されます。 たとえば、パッケージが削除された、またはダウンロードに失敗したために、参照先のパッケージをインストールできない場合、タスクは失敗します。

authenticationTokenSettings

Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されている場合、Batch サービスは、アカウント アクセス キーを必要とせずに Batch サービス操作を認証するために使用できる認証トークンを Task に提供します。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使用して実行できる操作は、設定によって異なります。 たとえば、タスクは、ジョブに他のタスクを追加したり、ジョブまたはジョブの下の他のタスクの状態を確認したりするために、ジョブのアクセス許可を要求できます。

commandLine

タスクのコマンド ライン。 複数インスタンスのタスクの場合、プライマリ タスクとすべてのサブタスクが調整コマンド ラインの実行を完了した後、コマンド ラインがプライマリ タスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。

constraints

このタスクに適用される実行制約。 制約を指定しない場合、maxTaskRetryCount はジョブに指定された maxTaskRetryCount、maxWallClockTime は無限、retentionTime は 7 日間です。

containerSettings

タスクを実行するコンテナーの設定。 このタスクを実行するプールに containerConfiguration が設定されている場合は、これも設定する必要があります。 このタスクを実行するプールに containerConfiguration が設定されていない場合は、これを設定しないでください。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべての Task 環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIR外のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。

dependsOn

このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数が不足した場合、このタスクはスケジュールされません。 ジョブに usesTaskDependencies が true に設定されておらず、この要素が存在する場合、要求はエラー コード TaskDependenciesNotSpecifiedOnJob で失敗します。

displayName

タスクの表示名。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。

environmentSettings

タスクの環境変数設定の一覧。

exitConditions

タスクが完了したときに Batch サービスが応答する方法。

id

ジョブ内のタスクを一意に識別する文字列。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 ID は大文字と小文字が区別されず、大文字と小文字が区別されません (つまり、ジョブ内に大文字と小文字のみが異なる 2 つの ID がない可能性があります)。

multiInstanceSettings

Task がマルチインスタンス タスクであることを示し、マルチインスタンス タスクの実行方法に関する情報を含むオブジェクト。

outputFiles

コマンド ラインの実行後に Batch サービスがコンピューティング ノードからアップロードするファイルの一覧。 複数インスタンスのタスクの場合、ファイルはプライマリ タスクが実行されるコンピューティング ノードからのみアップロードされます。

requiredSlots

タスクの実行に必要なスケジュール スロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジュール スロットがある場合にのみ、コンピューティング ノードで実行するようにスケジュールできます。 複数インスタンスのタスクの場合、これは 1 である必要があります。

resourceFiles

コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンス タスクの場合、リソース ファイルは、プライマリ タスクが実行されるコンピューティング ノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。

userIdentity

タスクを実行するユーザー ID。 省略した場合、タスクはタスクに固有の非管理ユーザーとして実行されます。

プロパティの詳細

affinityInfo

Batch サービスが新しいタスクを開始するコンピューティング ノードを選択するために使用できるローカリティ ヒント。

affinityInfo?: AffinityInformation

プロパティ値

applicationPackageReferences

コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにデプロイするパッケージの一覧。 アプリケーション パッケージは、タスク作業ディレクトリではなく、共有ディレクトリにダウンロードおよびデプロイされます。 したがって、参照されているパッケージが既にノード上にあり、最新の状態である場合、再ダウンロードされません。コンピューティング ノード上の既存のコピーが使用されます。 たとえば、パッケージが削除された、またはダウンロードに失敗したために、参照先のパッケージをインストールできない場合、タスクは失敗します。

applicationPackageReferences?: ApplicationPackageReference[]

プロパティ値

authenticationTokenSettings

Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されている場合、Batch サービスは、アカウント アクセス キーを必要とせずに Batch サービス操作を認証するために使用できる認証トークンを Task に提供します。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使用して実行できる操作は、設定によって異なります。 たとえば、タスクは、ジョブに他のタスクを追加したり、ジョブまたはジョブの下の他のタスクの状態を確認したりするために、ジョブのアクセス許可を要求できます。

authenticationTokenSettings?: AuthenticationTokenSettings

プロパティ値

commandLine

タスクのコマンド ライン。 複数インスタンスのタスクの場合、プライマリ タスクとすべてのサブタスクが調整コマンド ラインの実行を完了した後、コマンド ラインがプライマリ タスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。

commandLine: string

プロパティ値

string

constraints

このタスクに適用される実行制約。 制約を指定しない場合、maxTaskRetryCount はジョブに指定された maxTaskRetryCount、maxWallClockTime は無限、retentionTime は 7 日間です。

constraints?: TaskConstraints

プロパティ値

containerSettings

タスクを実行するコンテナーの設定。 このタスクを実行するプールに containerConfiguration が設定されている場合は、これも設定する必要があります。 このタスクを実行するプールに containerConfiguration が設定されていない場合は、これを設定しないでください。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべての Task 環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIR外のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。

containerSettings?: TaskContainerSettings

プロパティ値

dependsOn

このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数が不足した場合、このタスクはスケジュールされません。 ジョブに usesTaskDependencies が true に設定されておらず、この要素が存在する場合、要求はエラー コード TaskDependenciesNotSpecifiedOnJob で失敗します。

dependsOn?: TaskDependencies

プロパティ値

displayName

タスクの表示名。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。

displayName?: string

プロパティ値

string

environmentSettings

タスクの環境変数設定の一覧。

environmentSettings?: EnvironmentSetting[]

プロパティ値

exitConditions

タスクが完了したときに Batch サービスが応答する方法。

exitConditions?: ExitConditions

プロパティ値

id

ジョブ内のタスクを一意に識別する文字列。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 ID は大文字と小文字が区別されず、大文字と小文字が区別されません (つまり、ジョブ内に大文字と小文字のみが異なる 2 つの ID がない可能性があります)。

id: string

プロパティ値

string

multiInstanceSettings

Task がマルチインスタンス タスクであることを示し、マルチインスタンス タスクの実行方法に関する情報を含むオブジェクト。

multiInstanceSettings?: MultiInstanceSettings

プロパティ値

outputFiles

コマンド ラインの実行後に Batch サービスがコンピューティング ノードからアップロードするファイルの一覧。 複数インスタンスのタスクの場合、ファイルはプライマリ タスクが実行されるコンピューティング ノードからのみアップロードされます。

outputFiles?: OutputFile[]

プロパティ値

requiredSlots

タスクの実行に必要なスケジュール スロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジュール スロットがある場合にのみ、コンピューティング ノードで実行するようにスケジュールできます。 複数インスタンスのタスクの場合、これは 1 である必要があります。

requiredSlots?: number

プロパティ値

number

resourceFiles

コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンス タスクの場合、リソース ファイルは、プライマリ タスクが実行されるコンピューティング ノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。

resourceFiles?: ResourceFile[]

プロパティ値

userIdentity

タスクを実行するユーザー ID。 省略した場合、タスクはタスクに固有の非管理ユーザーとして実行されます。

userIdentity?: UserIdentity

プロパティ値