Task - Add

指定したジョブにタスクを追加します。
タスクの追加から完了までの最大有効期間は 180 日です。 タスクが追加されてから 180 日以内に完了していない場合、そのタスクは Batch サービスによって終了され、その時点の状態のままになります。

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0

URI パラメーター

名前 / 必須 説明
batchUrl
path True

string

すべての Azure Batch サービス要求のベース URL。

jobId
path True

string

タスクを追加するジョブの ID。

api-version
query True

string

クライアント API のバージョン。

timeout
query

integer

int32

サーバーが要求の処理に費やすことができる最大時間 (秒単位)。 既定値は 30 秒です。 値が 30 より大きい場合は、代わりに既定値が使用されます。

要求ヘッダー

Media Types: "application/json; odata=minimalmetadata"

名前 必須 説明
client-request-id

string

uuid

呼び出し元によって生成された要求 ID。中かっこなどの装飾のない GUID の形式 (例: 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0)。

return-client-request-id

boolean

サーバーが応答で client-request-id を返す必要があるかどうか。

ocp-date

string

date-time-rfc1123

要求が発行された時刻。 通常、クライアント ライブラリはこれを現在のシステム クロック時間に設定します。REST API を直接呼び出す場合は、明示的に設定します。

要求本文

Media Types: "application/json; odata=minimalmetadata"

名前 必須 説明
commandLine True

string

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

id True

string

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

affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

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

authenticationTokenSettings

AuthenticationTokenSettings

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

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

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

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

タスクの完了時に Batch サービスが応答する方法を指定します。
タスクが完了したときに Batch サービスが応答する方法。

multiInstanceSettings

MultiInstanceSettings

Task がマルチインスタンス タスクであることを示し、マルチインスタンス タスクの実行方法に関する情報を含むオブジェクト。
マルチインスタンス タスクは、MPI タスクをサポートするために一般的に使用されます。 MPI の場合、サブタスクのいずれかが失敗した場合 (たとえば、0 以外の終了コードで終了するため) は、マルチインスタンス タスク全体が失敗します。 その後、複数インスタンスのタスクが終了し、再試行の上限まで再試行されます。

outputFiles

OutputFile[]

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

requiredSlots

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

応答

名前 説明
201 Created

Batch サービスへの要求が成功しました。

ヘッダー

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: string
Other Status Codes

BatchError

Batch サービスからのエラー。

セキュリティ

azure_auth

Microsoft Entra OAuth 2.0 認証コード フロー

型: oauth2
フロー: implicit
Authorization URL (承認 URL): https://login.microsoftonline.com/common/oauth2/authorize

スコープ

名前 説明
user_impersonation ユーザー アカウントを偽装する

Authorization

型: apiKey
/: header

Add a basic task
Add a container task with container data isolation
Add a container task with container data isolation bad request duplicate sources
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

応答のサンプル

Add a container task with container data isolation

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

応答のサンプル

Add a container task with container data isolation bad request duplicate sources

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

応答のサンプル

Add a task with container settings

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

応答のサンプル

Add a task with exit conditions

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

応答のサンプル

Add a task with extra slot requirement

要求のサンプル

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

応答のサンプル

定義

名前 説明
AccessScope

トークンがアクセスを許可する Batch リソース。

AffinityInformation

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

ApplicationPackageReference

コンピューティング ノードにデプロイするパッケージへの参照。

AuthenticationTokenSettings

Batch サービス操作の実行にタスクが使用できる認証トークンの設定。

AutoUserScope

自動ユーザーのスコープ

AutoUserSpecification

Batch サービスでタスクを実行する自動ユーザーのパラメーターを指定します。

BatchError

Azure Batch サービスから受信したエラー応答。

BatchErrorDetail

Azure Batch エラー応答に含まれる追加情報の項目。

ComputeNodeIdentityReference

コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。

ContainerHostBatchBindMountEntry

タスク コンテナーにマウントするパスとマウント モードのエントリ。

ContainerHostDataPath

コンテナー タスクのコンテナーにマウントされるパス。

ContainerRegistry

プライベート コンテナー レジストリ。

ContainerWorkingDirectory

コンテナータスク作業ディレクトリの場所。

DependencyAction

このタスクに依存するタスクに対して Batch サービスが実行するアクション。

ElevationLevel

ユーザーの昇格レベル。

EnvironmentSetting

タスク プロセスで設定する環境変数。

ErrorMessage

Azure Batch エラー応答で受信したエラー メッセージ。

ExitCodeMapping

特定の終了コードでタスクが終了した場合の Batch サービスの応答方法。

ExitCodeRangeMapping

終了コードの範囲と、その範囲内の終了コードに対する Batch サービスの応答方法。

ExitConditions

タスクの完了時に Batch サービスが応答する方法を指定します。

ExitOptions

Batch サービスが特定の終了条件にどのように応答するかを指定します。

HttpHeader

HTTP ヘッダーの名前と値のペア

JobAction

指定された終了条件でタスクが完了し、ジョブの onTaskFailed プロパティが 'performExitOptionsJobAction' である場合に、タスクを含むジョブに対して実行するアクション。

MultiInstanceSettings

マルチインスタンス タスクの実行方法を指定する設定。

OutputFile

Batch サービスがタスク プロセスの実行を完了した後、Azure Batch コンピューティング ノードから別の場所にファイルをアップロードするための仕様。

OutputFileBlobContainerDestination

Azure BLOB ストレージ コンテナー内のファイルアップロード先を指定します。

OutputFileDestination

ファイルのアップロード先。

OutputFileUploadCondition

タスク出力ファイルまたは一連のファイルをアップロードする条件。

OutputFileUploadOptions

アップロードを実行する条件など、出力ファイルのアップロード操作に関する詳細。

ResourceFile

コンピューティング ノードにダウンロードする 1 つのファイルまたは複数のファイル。

TaskAddParameter

追加する Azure Batch タスク。

TaskConstraints

タスクに適用する実行制約。

TaskContainerSettings

タスクのコンテナー設定。

TaskDependencies

タスクの依存関係を指定します。 依存関係のあるタスクがスケジュールされる前に、明示的に指定されたタスクまたは依存関係範囲内のすべてのタスクを完了する必要があります。

TaskIdRange

タスクが依存できるタスク ID の範囲。 範囲内の ID を持つすべてのタスクは、依存するタスクをスケジュールする前に正常に完了する必要があります。

UserIdentity

タスクを実行するユーザー ID の定義。

AccessScope

トークンがアクセスを許可する Batch リソース。

名前 説明
job

string

タスクを含むジョブに対するすべての操作を実行するためのアクセス権を付与します。

AffinityInformation

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

名前 説明
affinityId

string

コンピューティング ノードまたは以前に実行したタスクの場所を表す不透明な文字列。
Node の affinityId を渡して、このタスクがそのコンピューティング ノードで実行する必要があることを示すことができます。 これは単なるソフト アフィニティであることに注意してください。 タスクがスケジュールされている時点でターゲットのコンピューティング ノードがビジー状態または使用できない場合、タスクは別の場所でスケジュールされます。

ApplicationPackageReference

コンピューティング ノードにデプロイするパッケージへの参照。

名前 説明
applicationId

string

デプロイするアプリケーションの ID。
プールを作成する場合、パッケージのアプリケーション ID は完全修飾 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) である必要があります。

version

string

デプロイするアプリケーションのバージョン。 省略すると、既定のバージョンがデプロイされます。
プールでこれを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences と HTTP 状態コード 409 で失敗します。 タスクでこれを省略し、このアプリケーションに既定のバージョンが指定されていない場合、タスクは前処理エラーで失敗します。

AuthenticationTokenSettings

Batch サービス操作の実行にタスクが使用できる認証トークンの設定。

名前 説明
access

AccessScope[]

トークンがアクセスを許可する Batch リソース。
認証トークンは、限られた一連の Batch サービス操作へのアクセスを許可します。 現在、Access プロパティでサポートされている値は "job" のみです。この値は、Task を含むジョブに関連するすべての操作へのアクセスを許可します。

AutoUserScope

自動ユーザーのスコープ

名前 説明
pool

string

タスクが、プール内のすべてのコンピューティング ノードで作成される共通の自動ユーザー アカウントとして実行されるように指定します。

task

string

サービスがタスクの新しいユーザーを作成することを指定します。

AutoUserSpecification

Batch サービスでタスクを実行する自動ユーザーのパラメーターを指定します。

名前 説明
elevationLevel

ElevationLevel

自動ユーザーの昇格レベル。
既定値は nonAdmin です。

scope

AutoUserScope

自動ユーザーのスコープ
既定値は pool です。 プールが Windows を実行している場合は、タスク間のより厳密な分離が必要な場合は、Task の値を指定する必要があります。 たとえば、タスクが他のタスクに影響を与える可能性のある方法でレジストリを変更する場合や、通常のタスクではアクセスできないが StartTasks からアクセスできる必要がある証明書がプールで指定されている場合などです。

BatchError

Azure Batch サービスから受信したエラー応答。

名前 説明
code

string

エラーの識別子。 コードは不変であり、プログラムで使用することを目的としています。

message

ErrorMessage

ユーザー インターフェイスでの表示に適したエラーを説明するメッセージ。

values

BatchErrorDetail[]

エラーに関する追加の詳細を含むキーと値のペアのコレクション。

BatchErrorDetail

Azure Batch エラー応答に含まれる追加情報の項目。

名前 説明
key

string

Value プロパティの意味を指定する識別子。

value

string

エラー応答に含まれる追加情報。

ComputeNodeIdentityReference

コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。

名前 説明
resourceId

string

ユーザー割り当て ID の ARM リソース ID。

ContainerHostBatchBindMountEntry

タスク コンテナーにマウントするパスとマウント モードのエントリ。

名前 説明
isReadOnly

boolean

このソース パスを読み取り専用モードとしてマウントするかどうか。 既定値は false (読み取り/書き込みモード) です。
Linux の場合、このパスを読み取り/書き込みモードとしてマウントした場合、コンテナー内のすべてのユーザーがパスの読み取り/書き込みアクセス権を持っているわけではありません。これは、ホスト VM のアクセスに依存します。 このパスが読み取り専用でマウントされている場合、コンテナー内のすべてのユーザーはパスを変更できません。

source

ContainerHostDataPath

コンテナー顧客にマウントするパスを選択できます。

ContainerHostDataPath

コンテナー タスクのコンテナーにマウントされるパス。

名前 説明
Applications

string

アプリケーション パス。

JobPrep

string

ジョブ準備タスクのパス。

Shared

string

複数インスタンス のタスクがファイルを共有するためのパス。

Startup

string

開始タスクのパス。

Task

string

タスク パス。

VfsMounts

string

パスには、このノードにマウントされているすべての仮想ファイル システムが含まれています。

ContainerRegistry

プライベート コンテナー レジストリ。

名前 説明
identityReference

ComputeNodeIdentityReference

ユーザー名とパスワードではなく、Azure Container Registry へのアクセスに使用するユーザー割り当て ID への参照。
コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。

password

string

レジストリ サーバーにログインするためのパスワード。

registryServer

string

レジストリ URL。
省略した場合、既定値は "docker.io" です。

username

string

レジストリ サーバーにログインするユーザー名。

ContainerWorkingDirectory

コンテナータスク作業ディレクトリの場所。

名前 説明
containerImageDefault

string

コンテナー イメージで定義されている作業ディレクトリを使用します。 このディレクトリには、Batch によってダウンロードされたリソース ファイルが含まれていないことに注意してください。

taskWorkingDirectory

string

Batch によって設定されたタスク リソース ファイルが含まれる標準の Batch サービスタスク作業ディレクトリを使用します。

DependencyAction

このタスクに依存するタスクに対して Batch サービスが実行するアクション。

名前 説明
block

string

このタスクを待機しているタスクをブロックし、スケジュールされないようにします。

satisfy

string

このタスクを待機しているタスクを満たす。すべての依存関係が満たされると、タスクの実行がスケジュールされます。

ElevationLevel

ユーザーの昇格レベル。

名前 説明
admin

string

ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者権限で動作します。

nonadmin

string

ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。

EnvironmentSetting

タスク プロセスで設定する環境変数。

名前 説明
name

string

環境変数の名前。

value

string

環境変数の値。

ErrorMessage

Azure Batch エラー応答で受信したエラー メッセージ。

名前 説明
lang

string

エラー メッセージの言語コード

value

string

メッセージのテキスト。

ExitCodeMapping

特定の終了コードでタスクが終了した場合の Batch サービスの応答方法。

名前 説明
code

integer

プロセス終了コード。

exitOptions

ExitOptions

この終了コードを使用してタスクが終了した場合の Batch サービスの応答方法。

ExitCodeRangeMapping

終了コードの範囲と、その範囲内の終了コードに対する Batch サービスの応答方法。

名前 説明
end

integer

範囲内の最後の終了コード。

exitOptions

ExitOptions

タスクが終了し、開始から終了までの範囲の終了コード (両端を含む) で終了した場合の Batch サービスの応答方法。

start

integer

範囲内の最初の終了コード。

ExitConditions

タスクの完了時に Batch サービスが応答する方法を指定します。

名前 説明
default

ExitOptions

他のどのプロパティにも含まれていない終了条件でタスクが失敗した場合の Batch サービスの応答方法。
この値は、task が exitCodes または exitCodeRanges コレクションにリストされていない 0 以外の終了コードで終了する場合、preProcessingError プロパティが存在しない場合は前処理エラー、fileUploadError プロパティが存在しない場合はファイル アップロード エラーで終了する場合に使用されます。 終了コード 0 で既定以外の動作が必要な場合は、exitCodes または exitCodeRanges コレクションを使用して明示的に一覧表示する必要があります。

exitCodeRanges

ExitCodeRangeMapping[]

タスク終了コード範囲と、Batch サービスがそれらに応答する方法の一覧。

exitCodes

ExitCodeMapping[]

個々のタスク終了コードと、Batch サービスがそれらに応答する方法の一覧。

fileUploadError

ExitOptions

ファイル アップロード エラーが発生した場合の Batch サービスの応答方法。
exitCodes または exitCodeRanges を使用して指定された終了コードでタスクが終了し、ファイル アップロード エラーが発生した場合、終了コードで指定されたアクションが優先されます。

preProcessingError

ExitOptions

エラーが原因でタスクの開始に失敗した場合の Batch サービスの応答方法。

ExitOptions

Batch サービスが特定の終了条件にどのように応答するかを指定します。

名前 説明
dependencyAction

DependencyAction

このタスクに依存するタスクに対して Batch サービスが実行するアクション。
指定できる値は、'satisfy' (依存タスクの進行を許可する) と 'block' (依存タスクは待機し続ける) です。 Batch では、依存タスクの取り消しはまだサポートされていません。

jobAction

JobAction

指定された終了条件でタスクが完了し、ジョブの onTaskFailed プロパティが 'performExitOptionsJobAction' である場合に、タスクを含むジョブに対して実行するアクション。
デフォルトは、終了コード 0 の場合は none で、他のすべての終了条件では終了します。 Job の onTaskFailed プロパティが noaction の場合、このプロパティを指定するとエラーが返され、タスクの追加要求が無効なプロパティ値エラーで失敗します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。

HttpHeader

HTTP ヘッダーの名前と値のペア

名前 説明
name

string

出力ファイルのアップロード時に使用するヘッダーの大文字と小文字を区別しない名前

value

string

出力ファイルのアップロード中に使用するヘッダーの値

JobAction

指定された終了条件でタスクが完了し、ジョブの onTaskFailed プロパティが 'performExitOptionsJobAction' である場合に、タスクを含むジョブに対して実行するアクション。

名前 説明
disable

string

ジョブを無効にします。 これは、disableTasks 値が requeue である disable Job API を呼び出すことと同じです。

none

string

アクションを実行しません。

terminate

string

ジョブを終了します。 ジョブの executionInfo の terminateReason が "TaskFailed" に設定されています。

MultiInstanceSettings

マルチインスタンス タスクの実行方法を指定する設定。

名前 説明
commonResourceFiles

ResourceFile[]

調整コマンド ラインを実行する前に Batch サービスがダウンロードするファイルの一覧。
共通リソース ファイルとタスク リソース ファイルの違いは、プライマリを含むすべてのサブタスクに共通のリソース ファイルがダウンロードされるのに対し、タスク リソース ファイルはプライマリにのみダウンロードされる点です。 また、これらのリソース ファイルは Task 作業ディレクトリにダウンロードされず、タスク ルート ディレクトリ (作業ディレクトリの上の 1 つのディレクトリ) にダウンロードされることにも注意してください。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。

coordinationCommandLine

string

すべてのコンピューティング ノードで実行するコマンド ライン。プライマリがメイン タスク コマンドを実行するときに調整できるようにします。
一般的な調整コマンド ラインは、バックグラウンド サービスを起動し、サービスがノード間メッセージを処理する準備ができていることを確認します。

numberOfInstances

integer

タスクに必要なコンピューティング ノードの数。
省略した場合、既定値は 1 です。

OutputFile

Batch サービスがタスク プロセスの実行を完了した後、Azure Batch コンピューティング ノードから別の場所にファイルをアップロードするための仕様。

名前 説明
destination

OutputFileDestination

出力ファイルの宛先。

filePattern

string

アップロードするファイルを示すパターン。
相対パスと絶対パスの両方がサポートされています。 相対パスは、Task 作業ディレクトリに対する相対パスです。 次のワイルドカードがサポートされています。 * は 0 個以上の文字に一致します (たとえば、パターン abc* は abc または abcdef に一致します)、** は任意のディレクトリに一致します。? は任意の 1 文字に一致し、[abc] は角かっこ内の 1 文字に一致し、[a-c] は範囲内の 1 文字と一致します。 角かっこには、指定されていない任意の文字に一致する否定を含めることができます (例: [!abc] は、a、b、または c 以外の任意の文字と一致します)。 ファイル名が "." で始まる場合、既定では無視されますが、明示的に指定することで照合される場合があります (たとえば、.gif は .a.gifと一致しませんが、..gif は一致します)。 簡単な例: ***.txt は、'.' で始まらないファイルと一致し、Task 作業ディレクトリまたはサブディレクトリ内の .txt で終わります。 ファイル名にワイルドカード文字が含まれている場合は、角かっこを使用してエスケープできます (たとえば、abc[] は abcという名前のファイルと一致します)。 \ と / の両方が Windows ではディレクトリ区切り記号として扱われますが、Linux 上では / のみであることに注意してください。 パターンが適用される前に、環境変数 (Windows または Linux 上の$varで%var%) が拡張されます。

uploadOptions

OutputFileUploadOptions

アップロード操作の追加オプション (アップロードを実行する条件を含む)。

OutputFileBlobContainerDestination

Azure BLOB ストレージ コンテナー内のファイルアップロード先を指定します。

名前 説明
containerUrl

string

ファイルのアップロード先となる Azure Blob Storage 内のコンテナーの URL。
マネージド ID を使用しない場合、URL には、コンテナーへの書き込みアクセス許可を付与する Shared Access Signature (SAS) が含まれている必要があります。

identityReference

ComputeNodeIdentityReference

containerUrl で指定された Azure Blob Storage へのアクセスに使用するユーザー割り当て ID への参照
ID には、Azure Blob Storage コンテナーへの書き込みアクセス権が必要です

path

string

Azure Storage コンテナー内の宛先 BLOB または仮想ディレクトリ。
filePattern が特定のファイルを参照している場合 (つまり、ワイルドカードが含まれている)、パスはそのファイルをアップロードする BLOB の名前です。 filePattern に 1 つ以上のワイルドカードが含まれている場合 (したがって、複数のファイルと一致する可能性があります)、パスは、ファイルをアップロードする BLOB 仮想ディレクトリの名前 (各 BLOB 名の前に付加されます) です。 省略すると、ファイル名と一致する BLOB 名を使用して、コンテナーのルートにファイルがアップロードされます。

uploadHeaders

HttpHeader[]

出力ファイルのアップロードに使用するヘッダーの名前と値のペアの一覧
これらのヘッダーは、Azure Storage にファイルをアップロードするときに指定されます。 BLOB のアップロード時に許可されるヘッダーに関する公式ドキュメント: https://docs.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

ファイルのアップロード先。

名前 説明
container

OutputFileBlobContainerDestination

ファイルのアップロード先となる Azure BLOB ストレージ内の場所。

OutputFileUploadCondition

タスク出力ファイルまたは一連のファイルをアップロードする条件。

名前 説明
taskcompletion

string

終了コードが何であったかにかかわらず、タスク プロセスが終了した後にファイルをアップロードします。

taskfailure

string

タスク プロセスが 0 以外の終了コードで終了した後にのみ、ファイルをアップロードします。

tasksuccess

string

タスク プロセスが終了コード 0 で終了した後にのみ、ファイルをアップロードします。

OutputFileUploadOptions

アップロードを実行する条件など、出力ファイルのアップロード操作に関する詳細。

名前 説明
uploadCondition

OutputFileUploadCondition

タスク出力ファイルまたは一連のファイルをアップロードする条件。
既定値は taskcompletion です。

ResourceFile

コンピューティング ノードにダウンロードする 1 つのファイルまたは複数のファイル。

名前 説明
autoStorageContainerName

string

自動ストレージ アカウントのストレージ コンテナー名。
autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。

blobPrefix

string

Azure Storage コンテナーから BLOB をダウンロードするときに使用する BLOB プレフィックス。 指定したプレフィックスで始まる名前の BLOB のみがダウンロードされます。
このプロパティは、autoStorageContainerName または storageContainerUrl が使用されている場合にのみ有効です。 このプレフィックスには、部分的なファイル名またはサブディレクトリを指定できます。 プレフィックスが指定されていない場合は、コンテナー内のすべてのファイルがダウンロードされます。

fileMode

string

ファイルアクセス許可モード属性 (8 進数形式)。
このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows コンピューティング ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux コンピューティング ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。

filePath

string

タスクの作業ディレクトリを基準にして、ファイルをダウンロードするコンピューティング ノード上の場所。
httpUrl プロパティが指定されている場合、filePath は必須であり、ファイルのダウンロード先となるパス (ファイル名を含む) を記述します。 それ以外の場合、autoStorageContainerName または storageContainerUrl プロパティが指定されている場合、filePath は省略可能であり、ファイルをダウンロードするディレクトリです。 filePath がディレクトリとして使用されている場合、入力データに既に関連付けられているディレクトリ構造は完全に保持され、指定された filePath ディレクトリに追加されます。 指定した相対パスは、タスクの作業ディレクトリから抜け出すことはできません (たとえば、'..' を使用)。

httpUrl

string

ダウンロードするファイルの URL。
autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 URL が Azure Blob Storage を指している場合は、コンピューティング ノードから読み取ることができる必要があります。 Azure Storage 内の BLOB のこのような URL を取得するには、3 つの方法があります。BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、読み取りアクセス許可を持つマネージド ID を使用するか、BLOB またはそのコンテナーの ACL を設定してパブリック アクセスを許可します。

identityReference

ComputeNodeIdentityReference

storageContainerUrl または httpUrl で指定された Azure Blob Storage へのアクセスに使用するユーザー割り当て ID への参照
コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。

storageContainerUrl

string

Azure Blob Storage 内の BLOB コンテナーの URL。
autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 この URL は、コンピューティング ノードから読み取り可能でリスト可能である必要があります。 Azure Storage 内のコンテナーのこのような URL を取得するには、3 つの方法があります。コンテナーに対する読み取りと一覧表示のアクセス許可を付与する Shared Access Signature (SAS) を含めるか、読み取りとリストのアクセス許可を持つマネージド ID を使用するか、コンテナーの ACL を設定してパブリック アクセスを許可します。

TaskAddParameter

追加する Azure Batch タスク。

名前 説明
affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

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

authenticationTokenSettings

AuthenticationTokenSettings

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

commandLine

string

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

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

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

dependsOn

TaskDependencies

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

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

タスクの完了時に Batch サービスが応答する方法を指定します。
タスクが完了したときに Batch サービスが応答する方法。

id

string

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

multiInstanceSettings

MultiInstanceSettings

Task がマルチインスタンス タスクであることを示し、マルチインスタンス タスクの実行方法に関する情報を含むオブジェクト。
マルチインスタンス タスクは、MPI タスクをサポートするために一般的に使用されます。 MPI の場合、サブタスクのいずれかが失敗した場合 (たとえば、0 以外の終了コードで終了するため) は、マルチインスタンス タスク全体が失敗します。 その後、複数インスタンスのタスクが終了し、再試行の上限まで再試行されます。

outputFiles

OutputFile[]

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

requiredSlots

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

TaskConstraints

タスクに適用する実行制約。

名前 説明
maxTaskRetryCount

integer

タスクを再試行できる最大回数。 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。
この値は、0 以外の終了コードが原因で Task 実行可能ファイルの再試行回数を特に制御します。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (1 回の最初の再試行と 3 回の再試行)。 最大再試行回数が 0 の場合、Batch サービスは最初の試行後にタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行しますが、これは開始タスクまたはタスクには推奨されません。 既定値は 0 (再試行なし) です。

maxWallClockTime

string

タスクが実行できる最大経過時間。タスクの開始時間から測定されます。 タスクが制限時間内に完了しない場合、Batch サービスによって終了されます。
この値を指定しない場合、タスクの実行時間に制限はありません。

retentionTime

string

実行が完了した時点から、実行されたコンピューティング ノードに Task ディレクトリを保持するための最小時間。 この時間が経過すると、Batch サービスは Task ディレクトリとそのすべての内容を削除できます。
既定値は 7 日間です。つまり、コンピューティング ノードが削除されるか、ジョブが削除されない限り、タスク ディレクトリは 7 日間保持されます。

TaskContainerSettings

タスクのコンテナー設定。

名前 説明
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

コンテナー タスクにマウントするパス。
この配列が null または存在しない場合、コンテナー タスクは一時ディスク ドライブ全体を Windows (または Linux では AZ_BATCH_NODE_ROOT_DIR) にマウントします。 この配列が空として設定されている場合、データ パスはコンテナーにマウントされません。

containerRunOptions

string

コンテナー作成コマンドの追加オプション。
これらの追加オプションは、Batch サービスによって制御されるオプションに加えて、"docker create" コマンドの引数として提供されます。

imageName

string

タスクを実行するコンテナーの作成に使用するイメージ。
これは、"docker pull" に指定されているように、完全なイメージ参照です。 イメージ名の一部としてタグが指定されていない場合は、タグ ":latest" が既定として使用されます。

registry

ContainerRegistry

コンテナー イメージを含むプライベート レジストリ。
この設定は、プールの作成時に既に指定されている場合は省略できます。

workingDirectory

ContainerWorkingDirectory

コンテナータスク作業ディレクトリの場所。
既定値は 'taskWorkingDirectory' です。

TaskDependencies

タスクの依存関係を指定します。 依存関係のあるタスクがスケジュールされる前に、明示的に指定されたタスクまたは依存関係範囲内のすべてのタスクを完了する必要があります。

名前 説明
taskIdRanges

TaskIdRange[]

このタスクが依存するタスク ID 範囲の一覧。 依存するタスクをスケジュールするには、すべての範囲のすべてのタスクが正常に完了している必要があります。

taskIds

string[]

このタスクが依存するタスク ID の一覧。 依存タスクをスケジュールするには、この一覧のすべてのタスクが正常に完了している必要があります。
taskIds コレクションは、合計 6,4000 文字 (つまり、すべてのタスク ID の合計長) に制限されています。 taskIds コレクションが最大長を超えた場合、タスクの追加要求はエラー コード TaskDependencyListTooLong で失敗します。 この場合は、代わりにタスク ID の範囲を使用することを検討してください。

TaskIdRange

タスクが依存できるタスク ID の範囲。 範囲内の ID を持つすべてのタスクは、依存するタスクをスケジュールする前に正常に完了する必要があります。

名前 説明
end

integer

範囲内の最後のタスク ID。

start

integer

範囲内の最初のタスク ID。

UserIdentity

タスクを実行するユーザー ID の定義。

名前 説明
autoUser

AutoUserSpecification

タスクを実行する自動ユーザー。
userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。

username

string

タスクを実行するユーザー ID の名前。
userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。