次の方法で共有


CloudTask 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

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

containerSettings

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

creationTime

タスクの作成時刻。

dependsOn

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

displayName

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

environmentSettings

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

eTag

タスクの ETag。 これは不透明な文字列です。 これを使用して、タスクが要求間で変更されたかどうかを検出できます。 特に、タスクを更新するときに ETag を渡して、その間に他の誰もタスクを変更していない場合にのみ変更を有効にするように指定できます。

executionInfo

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

exitConditions

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

id

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

lastModified

タスクの最終変更時刻。

multiInstanceSettings

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

nodeInfo

タスクが実行されたコンピューティング ノードに関する情報。

outputFiles

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

previousState

タスクの以前の状態。 Task が初期状態の場合、このプロパティは設定されません。 使用可能な値は、'active'、'prepareing'、'running'、'completed' です。

previousStateTransitionTime

タスクが以前の状態になった時刻。 Task が初期状態の場合、このプロパティは設定されません。

requiredSlots

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

resourceFiles

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

state

タスクの現在の状態。 使用可能な値は、'active'、'prepareing'、'running'、'completed' です。

stateTransitionTime

タスクが現在の状態になった時刻。

stats

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

url

タスクの URL。

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

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

constraints?: TaskConstraints

プロパティ値

containerSettings

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

containerSettings?: TaskContainerSettings

プロパティ値

creationTime

タスクの作成時刻。

creationTime?: Date

プロパティ値

Date

dependsOn

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

dependsOn?: TaskDependencies

プロパティ値

displayName

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

displayName?: string

プロパティ値

string

environmentSettings

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

environmentSettings?: EnvironmentSetting[]

プロパティ値

eTag

タスクの ETag。 これは不透明な文字列です。 これを使用して、タスクが要求間で変更されたかどうかを検出できます。 特に、タスクを更新するときに ETag を渡して、その間に他の誰もタスクを変更していない場合にのみ変更を有効にするように指定できます。

eTag?: string

プロパティ値

string

executionInfo

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

executionInfo?: TaskExecutionInformation

プロパティ値

exitConditions

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

exitConditions?: ExitConditions

プロパティ値

id

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

id?: string

プロパティ値

string

lastModified

タスクの最終変更時刻。

lastModified?: Date

プロパティ値

Date

multiInstanceSettings

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

multiInstanceSettings?: MultiInstanceSettings

プロパティ値

nodeInfo

タスクが実行されたコンピューティング ノードに関する情報。

nodeInfo?: ComputeNodeInformation

プロパティ値

outputFiles

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

outputFiles?: OutputFile[]

プロパティ値

previousState

タスクの以前の状態。 Task が初期状態の場合、このプロパティは設定されません。 使用可能な値は、'active'、'prepareing'、'running'、'completed' です。

previousState?: TaskState

プロパティ値

previousStateTransitionTime

タスクが以前の状態になった時刻。 Task が初期状態の場合、このプロパティは設定されません。

previousStateTransitionTime?: Date

プロパティ値

Date

requiredSlots

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

requiredSlots?: number

プロパティ値

number

resourceFiles

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

resourceFiles?: ResourceFile[]

プロパティ値

state

タスクの現在の状態。 使用可能な値は、'active'、'prepareing'、'running'、'completed' です。

state?: TaskState

プロパティ値

stateTransitionTime

タスクが現在の状態になった時刻。

stateTransitionTime?: Date

プロパティ値

Date

stats

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

stats?: TaskStatistics

プロパティ値

url

タスクの URL。

url?: string

プロパティ値

string

userIdentity

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

userIdentity?: UserIdentity

プロパティ値