次の方法で共有


BatchTask interface

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

プロパティ

affinityInfo

バッチサービスが新しいタスクを開始する計算ノードを選択するために使用できる局所性のヒントです。

applicationPackageReferences

バッチサービスがコマンドラインを実行する前にコンピュートノードにデプロイするパッケージのリストです。 アプリケーションパッケージはタスクワーキングディレクトリではなく、共有ディレクトリにダウンロード・デプロイされます。 したがって、参照されたパッケージがすでにノード上にあり、かつ最新のものであれば再ダウンロードされません。コンピュートノード上の既存のコピーが使用されます。 参照されたパッケージが削除されたりダウンロードに失敗した場合、タスクは失敗します。

authenticationTokenSettings

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

commandLine

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

constraints

このタスクに適用される実行制約。

containerSettings

タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。

creationTime

タスクの作成時間。

dependsOn

このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。

displayName

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

environmentSettings

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

eTag

課題のETag。 これは不透明な文字列です。 リクエスト間でタスクが変更されたかどうかを検出するために使うことができます。 特に、タスクを更新する際にETagを通し、変更が有効になるのはその間に誰もそのタスクを修正していない場合に限られるように指定できます。

executionInfo

タスクの実行に関する情報。

exitConditions

タスクが完了したときにバッチサービスがどのように応答すべきか。

id

ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。

lastModified

タスクの最後の修正時間。

multiInstanceSettings

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

nodeInfo

タスクが実行される計算ノードに関する情報。

outputFiles

コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。

previousState

課題の前の状態。 このプロパティは、タスクが初期のアクティブ状態にある場合は設定されません。

previousStateTransitionTime

タスクが前の状態に入った時点。 このプロパティは、タスクが初期のアクティブ状態にある場合は設定されません。

requiredSlots

タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1.

resourceFiles

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

state

現在のタスクの状態。

stateTransitionTime

タスクが現在の状態に入った時点。

taskStatistics

タスクのリソース使用統計。

url

タスクのURLです。

userIdentity

タスクが動作するユーザー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

このタスクに適用される実行制約。

constraints?: BatchTaskConstraints

プロパティ値

containerSettings

タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。

containerSettings?: BatchTaskContainerSettings

プロパティ値

creationTime

タスクの作成時間。

creationTime: Date

プロパティ値

Date

dependsOn

このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。

dependsOn?: BatchTaskDependencies

プロパティ値

displayName

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

displayName?: string

プロパティ値

string

environmentSettings

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

environmentSettings?: EnvironmentSetting[]

プロパティ値

eTag

課題のETag。 これは不透明な文字列です。 リクエスト間でタスクが変更されたかどうかを検出するために使うことができます。 特に、タスクを更新する際にETagを通し、変更が有効になるのはその間に誰もそのタスクを修正していない場合に限られるように指定できます。

eTag: string

プロパティ値

string

executionInfo

タスクの実行に関する情報。

executionInfo?: BatchTaskExecutionInfo

プロパティ値

exitConditions

タスクが完了したときにバッチサービスがどのように応答すべきか。

exitConditions?: ExitConditions

プロパティ値

id

ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。

id: string

プロパティ値

string

lastModified

タスクの最後の修正時間。

lastModified: Date

プロパティ値

Date

multiInstanceSettings

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

multiInstanceSettings?: MultiInstanceSettings

プロパティ値

nodeInfo

タスクが実行される計算ノードに関する情報。

nodeInfo?: BatchNodeInfo

プロパティ値

outputFiles

コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。

outputFiles?: OutputFile[]

プロパティ値

previousState

課題の前の状態。 このプロパティは、タスクが初期のアクティブ状態にある場合は設定されません。

previousState?: BatchTaskState

プロパティ値

previousStateTransitionTime

タスクが前の状態に入った時点。 このプロパティは、タスクが初期のアクティブ状態にある場合は設定されません。

previousStateTransitionTime?: Date

プロパティ値

Date

requiredSlots

タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1.

requiredSlots?: number

プロパティ値

number

resourceFiles

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

resourceFiles?: ResourceFile[]

プロパティ値

state

現在のタスクの状態。

state: BatchTaskState

プロパティ値

stateTransitionTime

タスクが現在の状態に入った時点。

stateTransitionTime: Date

プロパティ値

Date

taskStatistics

タスクのリソース使用統計。

taskStatistics?: BatchTaskStatistics

プロパティ値

url

タスクのURLです。

url: string

プロパティ値

string

userIdentity

タスクが動作するユーザーIDです。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。

userIdentity?: UserIdentity

プロパティ値