Tasks - Create Task
指定されたジョブに対してタスクを作成します。
タスクの追加から完了までの最大寿命は180日です。 タスクが追加されてから180日以内に完了しなかった場合、バッチサービスによって終了され、その時点での状態のまま残されます。
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}
URI パラメーター
| 名前 | / | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Batch アカウント エンドポイント (例: https://batchaccount.eastus2.batch.azure.com)。 |
|
job
|
path | True |
string |
タスクを作成するジョブのID。 |
|
api-version
|
query | True |
string minLength: 1 |
この操作に使用する API バージョン。 |
|
time
|
query |
integer (int32) |
サーバーが要求の処理に費やすことができる最大時間 (秒単位)。 既定値は 30 秒です。 値が30より大きい場合は、デフォルトが使われます。」 |
要求ヘッダー
Media Types: "application/json; odata=minimalmetadata"
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| client-request-id |
string |
呼び出し元によって生成された要求 ID。中かっこなどの装飾のない GUID の形式 (例: 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0)。 |
|
| return-client-request-id |
boolean |
サーバーが応答で client-request-id を返す必要があるかどうか。 |
|
| ocp-date |
string (date-time-rfc7231) |
要求が発行された時刻。 通常、クライアント ライブラリはこれを現在のシステム クロック時間に設定します。REST API を直接呼び出す場合は、明示的に設定します。 |
要求本文
Media Types: "application/json; odata=minimalmetadata"
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| commandLine | True |
string |
タスクのコマンドライン。 マルチインスタンスタスクの場合、コマンドラインはプライマリタスクおよびすべてのサブタスクがコーディネーションコマンドラインの実行を終えた後にプライマリタスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。 |
| id | True |
string |
ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 IDは大文字保持型で大文字に区別されない(つまり、同じジョブ内でケースごとに異なるIDが2つ存在しない場合があります)。 |
| affinityInfo |
バッチサービスが新しいタスクを開始する計算ノードを選択するために使用できる局所性のヒントです。 |
||
| applicationPackageReferences |
バッチサービスがコマンドラインを実行する前にコンピュートノードにデプロイするパッケージのリストです。 アプリケーションパッケージはタスクワーキングディレクトリではなく、共有ディレクトリにダウンロード・デプロイされます。 したがって、参照されたパッケージがすでにノード上にあり、かつ最新のものであれば再ダウンロードされません。コンピュートノード上の既存のコピーが使用されます。 参照されたパッケージが削除されたりダウンロードに失敗した場合、タスクは失敗します。 |
||
| authenticationTokenSettings |
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されると、バッチサービスはタスクに認証トークンを提供し、アカウントアクセスキーを必要とせずにバッチサービス操作を認証できます。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使って実行できる操作は設定によって異なります。 例えば、タスクはジョブ権限を要求して他のタスクを追加したり、ジョブやジョブ内の他のタスクの状態を確認したりできます。 |
||
| constraints |
このタスクに適用される実行制約。 制約を指定しない場合、maxTaskRetryCountはジョブに指定されたmaxTaskRetryCountで、maxWallClockTimeは無限、retentionTimeは7日です。 |
||
| containerSettings |
タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。 |
||
| dependsOn |
このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。 もしジョブの usesTaskDependencies が true に設定されておらず、この要素が存在する場合、TaskDependenciesNotSpecifiedOnJob というエラーコードでリクエストが失敗します。 |
||
| displayName |
string |
タスクの表示名です。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。 |
|
| environmentSettings |
タスクの環境変数設定の一覧。 |
||
| exitConditions |
タスクが完了したときにバッチサービスがどのように応答すべきか。 |
||
| multiInstanceSettings |
タスクがマルチインスタンスタスクであることを示し、そのタスクの実行方法に関する情報を含むオブジェクトです。 |
||
| outputFiles |
コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。 |
||
| requiredSlots |
integer (int32) |
タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1. |
|
| resourceFiles |
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンスタスクの場合、リソースファイルはプライマリタスクが実行されるコンピュートノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 |
||
| userIdentity |
タスクが動作するユーザーIDです。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。 |
応答
| 名前 | 型 | 説明 |
|---|---|---|
| 201 Created |
要求が成功し、結果として新しいリソースが作成されました。 ヘッダー
|
|
| Other Status Codes |
予期しないエラー応答。 |
セキュリティ
OAuth2Auth
型:
oauth2
フロー:
implicit
Authorization URL (承認 URL):
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
スコープ
| 名前 | 説明 |
|---|---|
| https://batch.core.windows.net//.default |
例
Creates a basic task
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"id": "task1",
"commandLine": "cmd /c echo task1"
}
応答のサンプル
Creates a task with container settings
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerRunOptions": "--rm"
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
応答のサンプル
Creates a task with container settings with data isolation
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerHostBatchBindMounts": [
{
"source": "Task",
"isReadOnly": true
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
応答のサンプル
Creates a task with container settings with duplicate source
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"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"
}
}
}
応答のサンプル
Creates a task with exit conditions
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"id": "taskId",
"commandLine": "cmd /c exit 3",
"exitConditions": {
"exitCodeRanges": [
{
"start": 2,
"end": 4,
"exitOptions": {
"jobAction": "terminate"
}
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
応答のサンプル
Creates a task with extra slot requirement
要求のサンプル
POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01
{
"id": "task1",
"requiredSlots": 2,
"commandLine": "cmd /c echo task1"
}
応答のサンプル
定義
| 名前 | 説明 |
|---|---|
|
Authentication |
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 |
|
Auto |
AutoUserScopeの列挙 |
|
Auto |
Azure Batch タスクを実行する自動ユーザーのオプションを指定します。 |
|
Batch |
BatchAccessScopeの列挙 |
|
Batch |
Batch サービスがタスクを開始するコンピューティング ノードを選択するために使用できるローカリティ ヒント。 |
|
Batch |
コンピューティング ノードにデプロイするパッケージへの参照。 |
|
Batch |
Azure Batch サービスから受信したエラー応答。 |
|
Batch |
Azure Batch エラー応答に含まれる追加情報の項目。 |
|
Batch |
Azure Batch エラー応答で受信したエラー メッセージ。 |
|
Batch |
BatchJobAction の列挙 |
|
Batch |
コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。 |
|
Batch |
タスクに適用する実行制約。 |
|
Batch |
タスクのコンテナー設定。 |
|
Batch |
Azure Batch タスクを作成するためのパラメーター。 |
|
Batch |
タスクの依存関係を指定します。 依存関係のあるタスクがスケジュールされる前に、明示的に指定されたタスクまたは依存関係範囲内のすべてのタスクを完了する必要があります。 |
|
Batch |
範囲の開始と終了は含まれます。 たとえば、範囲が開始 9 と終了 12 の場合、タスク '9'、'10'、'11'、および '12' を表します。 |
|
Container |
タスク コンテナーにマウントするパスとマウント モードのエントリ。 |
|
Container |
コンテナー タスクのコンテナーにマウントされるパス。 |
|
Container |
プライベート コンテナー レジストリ。 |
|
Container |
ContainerWorkingDirectory 列挙 |
|
Dependency |
DependencyActionの列挙 |
|
Elevation |
ElevationLevel 列挙 |
|
Environment |
タスク プロセスで設定する環境変数。 |
|
Exit |
特定の終了コードでタスクが終了した場合の Batch サービスの応答方法。 |
|
Exit |
終了コードの範囲と、その範囲内の終了コードに対する Batch サービスの応答方法。 |
|
Exit |
タスクの完了時に Batch サービスが応答する方法を指定します。 |
|
Exit |
Batch サービスが特定の終了条件にどのように応答するかを指定します。 |
|
Multi |
マルチインスタンス タスクは、MPI タスクをサポートするために一般的に使用されます。 MPI の場合、サブタスクのいずれかが失敗した場合 (たとえば、0 以外の終了コードで終了するため) は、マルチインスタンス タスク全体が失敗します。 その後、複数インスタンスのタスクが終了し、再試行の上限まで再試行されます。 |
|
Output |
Batch サービスは、ファイルのアップロードごとに、2 つのログ ファイルをコンピューティング ノード 'fileuploadout.txt' と 'fileuploaderr.txt' に書き込みます。 これらのログ ファイルは、特定のエラーの詳細を確認するために使用されます。 |
|
Output |
Azure BLOB ストレージ コンテナー内のファイルアップロード先を指定します。 |
|
Output |
ファイルのアップロード先。 |
|
Output |
OutputFileUploadConditionの列挙 |
|
Output |
アップロードを実行する条件を含む、出力ファイルのアップロード操作のオプション。 |
|
Output |
HTTP ヘッダーの名前と値のペア |
|
Resource |
コンピューティング ノードにダウンロードする 1 つのファイルまたは複数のファイル。 |
|
User |
タスクを実行するユーザー ID の定義。 userName プロパティまたは autoUser プロパティを指定しますが、両方を指定することはできません。 |
AuthenticationTokenSettings
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。
| 名前 | 型 | 説明 |
|---|---|---|
| access |
トークンがアクセス権を与えるバッチリソース。 認証トークンは、限定されたバッチサービス操作へのアクセスを提供します。 現在、アクセスプロパティでサポートされているのは「job」のみで、これはタスクを含むジョブに関連するすべての操作へのアクセスを許可します。 |
AutoUserScope
AutoUserScopeの列挙
| 値 | 説明 |
|---|---|
| task |
サービスがタスクのために新しいユーザーを作成することを指定します。 |
| pool |
タスクがプール内の各コンピュートノードで作成される共通自動ユーザーアカウントとして実行されることを指定します。 |
AutoUserSpecification
Azure Batch タスクを実行する自動ユーザーのオプションを指定します。
| 名前 | 型 | 説明 |
|---|---|---|
| elevationLevel |
自動ユーザーの昇格レベル。 既定値は nonAdmin です。 |
|
| scope |
自動ユーザーのスコープ。 既定値は pool です。 プールが Windows を実行している場合は、タスク間のより厳密な分離が必要な場合は、Task の値を指定する必要があります。 たとえば、タスクが他のタスクに影響を与える可能性のある方法でレジストリを変更する場合などです。 |
BatchAccessScope
BatchAccessScopeの列挙
| 値 | 説明 |
|---|---|
| job |
タスクを含むジョブに対してすべての操作を実行する権限を付与します。 |
BatchAffinityInfo
Batch サービスがタスクを開始するコンピューティング ノードを選択するために使用できるローカリティ ヒント。
| 名前 | 型 | 説明 |
|---|---|---|
| affinityId |
string |
以前に実行された計算ノードやタスクの位置を表す不透明な文字列。 ノードのaffinityIdを渡して、そのタスクがそのコンピュートノード上で実行する必要があることを示します。 これは単なるソフト アフィニティであることに注意してください。 タスクがスケジュールされている時点でターゲットのコンピューティング ノードがビジー状態または使用できない場合、タスクは別の場所でスケジュールされます。 |
BatchApplicationPackageReference
コンピューティング ノードにデプロイするパッケージへの参照。
| 名前 | 型 | 説明 |
|---|---|---|
| applicationId |
string |
デプロイするアプリケーションのID。 プールを作成する場合、パッケージのアプリケーション ID は完全修飾 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) である必要があります。 |
| version |
string |
デプロイするアプリケーションのバージョン。 省略すると、既定のバージョンがデプロイされます。 もしプール上でこれを省略し、このアプリケーションにデフォルトバージョンが指定されていない場合、リクエストはInvalidApplicationPackageReferencesエラーコードとHTTPステータスコード409で失敗します。 もしタスクでこれが省略され、かつそのアプリケーションにデフォルトバージョンが指定されていない場合、タスクは前処理エラーで失敗します。 |
BatchError
Azure Batch サービスから受信したエラー応答。
| 名前 | 型 | 説明 |
|---|---|---|
| code |
string |
エラーの識別子。 コードは不変であり、プログラムで使用することを目的としています。 |
| message |
ユーザー インターフェイスでの表示に適したエラーを説明するメッセージ。 |
|
| values |
エラーに関する追加の詳細を含むキーと値のペアのコレクション。 |
BatchErrorDetail
Azure Batch エラー応答に含まれる追加情報の項目。
| 名前 | 型 | 説明 |
|---|---|---|
| key |
string |
Value プロパティの意味を指定する識別子。 |
| value |
string |
エラー応答に含まれる追加情報。 |
BatchErrorMessage
Azure Batch エラー応答で受信したエラー メッセージ。
| 名前 | 型 | 説明 |
|---|---|---|
| lang |
string |
エラーメッセージの言語コード。 |
| value |
string |
メッセージのテキスト。 |
BatchJobActionKind
BatchJobAction の列挙
| 値 | 説明 |
|---|---|
| none |
アクションを実行しません。 |
| disable |
ジョブを無効化する。 これはdisableTasksの値でdisableJobをrequeueに設定してdisable Job APIを呼び出すのと同等です。 |
| terminate |
仕事を終了しろ。 ジョブの実行情報にあるterminationReasonは「TaskFailed」に設定されています。 |
BatchNodeIdentityReference
コンピューティング ノードが使用する Batch プールに関連付けられているユーザー割り当て ID への参照。
| 名前 | 型 | 説明 |
|---|---|---|
| resourceId |
string (arm-id) |
ユーザー割り当て ID の ARM リソース ID。 |
BatchTaskConstraints
タスクに適用する実行制約。
| 名前 | 型 | 説明 |
|---|---|---|
| maxTaskRetryCount |
integer (int32) |
タスクを再試行できる最大回数。 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。 この値は、非ゼロの終了コードによりタスク実行ファイルの再試行回数を具体的に制御します。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (1 回の最初の再試行と 3 回の再試行)。 最大再試行回数が0の場合、バッチサービスは最初の試み以降タスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行しますが、これは開始タスクまたはタスクには推奨されません。 既定値は 0 (再試行なし) です。 |
| maxWallClockTime |
string (duration) |
タスクが開始した時点から測定される最大経過時間。 タスクが期限内に完了しない場合、バッチサービスはタスクを終了します。 これが指定されていない場合、タスクの実行時間に制限はありません。 |
| retentionTime |
string (duration) |
実行完了時点から、Compute Node上でタスクディレクトリを保持する最小時間。 この時間が経過すると、バッチサービスはタスクディレクトリとそのすべての内容を削除することができます。 デフォルトは7日間で、つまりCompute Nodeが削除されるかジョブが削除されない限り、タスクディレクトリは7日間保持されます。 |
BatchTaskContainerSettings
タスクのコンテナー設定。
| 名前 | 型 | 説明 |
|---|---|---|
| containerHostBatchBindMounts |
コンテナー タスクにマウントするパス。 この配列が null または存在しない場合、コンテナー タスクは一時ディスク ドライブ全体を Windows (または Linux では AZ_BATCH_NODE_ROOT_DIR) にマウントします。 この配列が空として設定されている場合、データ パスはコンテナーにマウントされません。 |
|
| containerRunOptions |
string |
コンテナー作成コマンドの追加オプション。 これらの追加オプションは、Batch サービスによって制御されるオプションに加えて、"docker create" コマンドの引数として提供されます。 |
| imageName |
string |
タスクを実行するコンテナを作成するために使うイメージ。 これは「docker pull」で指定される完全なイメージ参照です。 画像名にタグが記載されていない場合は、デフォルトとして「:latest」タグが使われます。 |
| registry |
コンテナイメージを含むプライベートレジストリです。 この設定はプール作成時にすでに提供されていた場合は省略しても構いません。 |
|
| workingDirectory |
コンテナタスクワーキングディレクトリの場所。 既定値は 'taskWorkingDirectory' です。 |
BatchTaskCreateOptions
Azure Batch タスクを作成するためのパラメーター。
| 名前 | 型 | 説明 |
|---|---|---|
| affinityInfo |
バッチサービスが新しいタスクを開始する計算ノードを選択するために使用できる局所性のヒントです。 |
|
| applicationPackageReferences |
バッチサービスがコマンドラインを実行する前にコンピュートノードにデプロイするパッケージのリストです。 アプリケーションパッケージはタスクワーキングディレクトリではなく、共有ディレクトリにダウンロード・デプロイされます。 したがって、参照されたパッケージがすでにノード上にあり、かつ最新のものであれば再ダウンロードされません。コンピュートノード上の既存のコピーが使用されます。 参照されたパッケージが削除されたりダウンロードに失敗した場合、タスクは失敗します。 |
|
| authenticationTokenSettings |
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されると、バッチサービスはタスクに認証トークンを提供し、アカウントアクセスキーを必要とせずにバッチサービス操作を認証できます。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使って実行できる操作は設定によって異なります。 例えば、タスクはジョブ権限を要求して他のタスクを追加したり、ジョブやジョブ内の他のタスクの状態を確認したりできます。 |
|
| commandLine |
string |
タスクのコマンドライン。 マルチインスタンスタスクの場合、コマンドラインはプライマリタスクおよびすべてのサブタスクがコーディネーションコマンドラインの実行を終えた後にプライマリタスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、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日です。 |
|
| containerSettings |
タスクが動作するコンテナの設定。 このタスクを実行するプールがcontainerConfiguration setを持っていれば、これも設定しなければなりません。 このタスクを実行するプールにcontainerConfigurationが設定されていなければ、この設定はできません。 これが指定されると、ノード上のAzure BatchディレクトリのルートであるAZ_BATCH_NODE_ROOT_DIRより下のすべてのディレクトリが再帰的にコンテナにマッピングされ、すべてのタスク環境変数がコンテナにマッピングされ、タスクコマンドラインがコンテナ内で実行されます。 AZ_BATCH_NODE_ROOT_DIR以外のコンテナで生成されたファイルはホストディスクに反映されない可能性があり、バッチファイルのAPIはそれらのファイルにアクセスできません。 |
|
| dependsOn |
このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、そのタスクは決してスケジュールされません。 もしジョブの usesTaskDependencies が true に設定されておらず、この要素が存在する場合、TaskDependenciesNotSpecifiedOnJob というエラーコードでリクエストが失敗します。 |
|
| displayName |
string |
タスクの表示名です。 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。 |
| environmentSettings |
タスクの環境変数設定の一覧。 |
|
| exitConditions |
タスクが完了したときにバッチサービスがどのように応答すべきか。 |
|
| id |
string |
ジョブ内のタスクを一意に識別する文字列です。 ID には、ハイフンやアンダースコアを含む任意の英数字を組み合わせて使用でき、64 文字を超えることはできません。 IDは大文字保持型で大文字に区別されない(つまり、同じジョブ内でケースごとに異なるIDが2つ存在しない場合があります)。 |
| multiInstanceSettings |
タスクがマルチインスタンスタスクであることを示し、そのタスクの実行方法に関する情報を含むオブジェクトです。 |
|
| outputFiles |
コマンドラインを実行した後、バッチサービスがコンピュートノードからアップロードするファイルのリストです。 マルチインスタンスタスクの場合、ファイルはプライマリタスクが実行されるコンピュートノードからのみアップロードされます。 |
|
| requiredSlots |
integer (int32) |
タスクが実行するために必要なスケジューリングスロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジューリングスロットがある場合に限り、そのノードで実行をスケジューリングできます。 マルチインスタンスタスクの場合、これは1. |
| resourceFiles |
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 マルチインスタンスタスクの場合、リソースファイルはプライマリタスクが実行されるコンピュートノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 |
|
| userIdentity |
タスクが動作するユーザーIDです。 省略すると、タスクはタスク固有の非管理者ユーザーとして動作します。 |
BatchTaskDependencies
タスクの依存関係を指定します。 依存関係のあるタスクがスケジュールされる前に、明示的に指定されたタスクまたは依存関係範囲内のすべてのタスクを完了する必要があります。
| 名前 | 型 | 説明 |
|---|---|---|
| taskIdRanges |
このタスクが依存するタスクIDの範囲。 すべての範囲のタスクが正常に完了しなければ、依存タスクはスケジュールされません。 |
|
| taskIds |
string[] |
このタスクが依存するタスクIDのリスト。 このリストのすべてのタスクが正常に完了しなければ、依存するタスクをスケジュールできません。 タスクIDコレクションは合計64000文字(すべてのタスクIDの合計長さ)に制限されています。 taskIdsコレクションが最大長さを超えると、タスク追加リクエストはエラーコードTaskDependencyListTooLongで失敗します。 この場合、代わりにタスクIDの範囲を使うことを検討してください。 |
BatchTaskIdRange
範囲の開始と終了は含まれます。 たとえば、範囲が開始 9 と終了 12 の場合、タスク '9'、'10'、'11'、および '12' を表します。
| 名前 | 型 | 説明 |
|---|---|---|
| end |
integer (int32) |
範囲内の最後のタスクID。 |
| start |
integer (int32) |
範囲内の最初のタスクID。 |
ContainerHostBatchBindMountEntry
タスク コンテナーにマウントするパスとマウント モードのエントリ。
| 名前 | 型 | 説明 |
|---|---|---|
| isReadOnly |
boolean |
このソース パスを読み取り専用モードとしてマウントするかどうか。 既定値は false (読み取り/書き込みモード) です。 Linux の場合、このパスを読み取り/書き込みモードとしてマウントした場合、コンテナー内のすべてのユーザーがパスの読み取り/書き込みアクセス権を持っているわけではありません。これは、ホスト VM のアクセスに依存します。 このパスが読み取り専用でマウントされている場合、コンテナー内のすべてのユーザーはパスを変更できません。 |
| source |
コンテナー顧客にマウントするパスを選択できます。 |
ContainerHostDataPath
コンテナー タスクのコンテナーにマウントされるパス。
| 値 | 説明 |
|---|---|
| Shared |
複数インスタンス のタスクがファイルを共有するためのパス。 |
| Startup |
開始タスクのパス。 |
| VfsMounts |
パスには、このノードにマウントされているすべての仮想ファイル システムが含まれています。 |
| Task |
タスク パス。 |
| JobPrep |
ジョブ準備タスクのパス。 |
| Applications |
アプリケーション パス。 |
ContainerRegistryReference
プライベート コンテナー レジストリ。
| 名前 | 型 | 説明 |
|---|---|---|
| identityReference |
ユーザー名とパスワードではなく、Azure Container Registry へのアクセスに使用するユーザー割り当て ID への参照。 |
|
| password |
string (password) |
レジストリ サーバーにログインするためのパスワード。 |
| registryServer |
string (uri) |
レジストリ URL。 省略した場合、既定値は "docker.io" です。 |
| username |
string |
レジストリ サーバーにログインするユーザー名。 |
ContainerWorkingDirectory
ContainerWorkingDirectory 列挙
| 値 | 説明 |
|---|---|
| taskWorkingDirectory |
標準のバッチサービスのタスク作業ディレクトリを使用してください。そこにはバッチによって埋め込まれたタスクリソースファイルが含まれます。 |
| containerImageDefault |
コンテナImageで定義されたワーキングディレクトリを使いましょう。 ただし、このディレクトリにはバッチでダウンロードされたリソースファイルは含まれていないことに注意してください。 |
DependencyAction
DependencyActionの列挙
| 値 | 説明 |
|---|---|
| satisfy |
このタスクを待つタスクを満たすこと;すべての依存関係が満たされると、タスクは実行予定です。 |
| block |
このタスクを待機中のタスクをブロックし、スケジュールに入れないようにします。 |
ElevationLevel
ElevationLevel 列挙
| 値 | 説明 |
|---|---|
| nonadmin |
ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 |
| admin |
ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者権限で動作します。 |
EnvironmentSetting
タスク プロセスで設定する環境変数。
| 名前 | 型 | 説明 |
|---|---|---|
| name |
string |
環境変数の名前。 |
| value |
string |
環境変数の値。 |
ExitCodeMapping
特定の終了コードでタスクが終了した場合の Batch サービスの応答方法。
| 名前 | 型 | 説明 |
|---|---|---|
| code |
integer (int32) |
プロセス終了コードです。 |
| exitOptions |
タスクがこの終了コードで終了した場合、バッチサービスがどのように応答すべきかについてです。 |
ExitCodeRangeMapping
終了コードの範囲と、その範囲内の終了コードに対する Batch サービスの応答方法。
| 名前 | 型 | 説明 |
|---|---|---|
| end |
integer (int32) |
範囲内の最後の出口コードだ。 |
| exitOptions |
タスクが終了時に終了コードが開始から終了までの範囲(含む)にある場合、バッチサービスはどのように応答すべきか。 |
|
| start |
integer (int32) |
範囲内の最初の出口コードだ。 |
ExitConditions
タスクの完了時に Batch サービスが応答する方法を指定します。
| 名前 | 型 | 説明 |
|---|---|---|
| default |
タスクが他のプロパティでカバーされていない終了条件で失敗した場合、バッチサービスがどのように応答すべきか。 この値は、タスクがexitCodesやexitCodeRangesコレクションにリストされていない非ゼロの終了コードで終了した場合、preProcessingErrorプロパティが存在しない場合は前処理エラー、fileUploadErrorプロパティがなければファイルアップロードエラーがある場合に使われます。 退出コード0で非デフォルト動作を望む場合は、exitCodesまたはexitCodeRangesコレクションを使って明示的にリストする必要があります。 |
|
| exitCodeRanges |
タスク終了コードの範囲と、バッチサービスがどのように応答すべきかの一覧です。 |
|
| exitCodes |
個々のタスク終了コードのリストと、バッチサービスがどのように応答すべきかについて。 |
|
| fileUploadError |
ファイルアップロードエラーが発生した場合にバッチサービスがどのように応答すべきか。 タスクがexitCodesまたはexitCodeRangesで指定された終了コードで終了し、その後ファイルアップロードエラーに遭遇した場合、終了コードで指定されたアクションが優先されます。 |
|
| preProcessingError |
タスクがエラーで開始できなかった場合、バッチサービスがどのように応答すべきかについて。 |
ExitOptions
Batch サービスが特定の終了条件にどのように応答するかを指定します。
| 名前 | 型 | 説明 |
|---|---|---|
| dependencyAction |
バッチサービスがこのタスクに依存しているタスクに対して実行するアクションです。 可能な値は「satisfy」(依存タスクの進行を許可)と「block」(依存タスクが待ち続ける)です。 バッチはまだ依存タスクのキャンセルをサポートしていません。 |
|
| jobAction |
タスクを含むジョブに対して、タスクが指定された終了条件で完了し、ジョブのonTaskFailedプロパティが「performExitOptionsJobAction」である場合に取るアクションです。 デフォルトは出口コード0ではノー、その他の退出条件では終了します。 ジョブのonTaskFailedプロパティがnoactionの場合、このプロパティを指定するとエラーが返され、add Taskリクエストは無効なプロパティ値エラーで失敗します。REST APIを直接呼び出している場合、HTTPステータスコードは400(Bad Request)です。 |
MultiInstanceSettings
マルチインスタンス タスクは、MPI タスクをサポートするために一般的に使用されます。 MPI の場合、サブタスクのいずれかが失敗した場合 (たとえば、0 以外の終了コードで終了するため) は、マルチインスタンス タスク全体が失敗します。 その後、複数インスタンスのタスクが終了し、再試行の上限まで再試行されます。
| 名前 | 型 | 説明 |
|---|---|---|
| commonResourceFiles |
バッチサービスがコーディネーションコマンドラインを実行する前にダウンロードするファイルの一覧です。 共通リソースファイルとタスクリソースファイルの違いは、共通リソースファイルはプライマリを含むすべてのサブタスクに共通リソースファイルがダウンロードされるのに対し、タスクリソースファイルはプライマリのみにダウンロードされる点です。 また、これらのリソースファイルはタスク作業ディレクトリにダウンロードされるのではなく、作業ディレクトリの1つ上のタスクルートディレクトリにダウンロードされることに注意してください。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 |
|
| coordinationCommandLine |
string |
すべてのComputeノードで実行され、プライマリがメインのタスクコマンドを実行する際に連携できるようにコマンドラインが使われます。 典型的なコーディネーションコマンドラインはバックグラウンドサービスを起動し、サービスがノード間メッセージを処理する準備ができているかを確認します。 |
| numberOfInstances |
integer (int32) |
タスクに必要な計算ノードの数。 省略した場合、デフォルトは1となります。 |
OutputFile
Batch サービスは、ファイルのアップロードごとに、2 つのログ ファイルをコンピューティング ノード 'fileuploadout.txt' と 'fileuploaderr.txt' に書き込みます。 これらのログ ファイルは、特定のエラーの詳細を確認するために使用されます。
| 名前 | 型 | 説明 |
|---|---|---|
| destination |
出力ファイルの宛先。 |
|
| filePattern |
string |
どのファイルをアップロードすべきかを示すパターンです。 相対経路と絶対経路の両方がサポートされています。 相対パスはタスクワーキングディレクトリに対して相対的なものです。 以下のワイルドカードがサポートされています:* は0文字以上と一致します(例えば、パターン abc* は abc または abcdef と一致します)、** は任意のディレクトリにマッチします、? 任意の単一文字、[abc]が括弧内の1文字、[a-c]が範囲内の1文字と一致します。 括弧には、指定されていない文字に一致する否定を含めることができます(例:[!abc]はa、b、c以外の任意の文字と一致します)。 ファイル名が「.」で始まる場合はデフォルトでは無視されますが、明示的に指定することでマッチング可能です(例えば、 .gif は .a.gifと一致しませんが、.gif は一致します)。 簡単な例として、***.txt は '.' で始まらず、タスクワーキングディレクトリまたは任意のサブディレクトリで終わる .txt ファイルとマッチします。 ファイル名にワイルドカード文字が含まれている場合、括弧で脱出できます(例えば、abc[]はabcというファイルと一致します)。 なお、Windowsでは\と/の両方がディレクトリ区切りとして扱われますが、Linuxでは/のみが使われます。 環境変数(Windowsでは%var%、Linuxでは$var)はパターンを適用する前に展開されます。 |
| uploadOptions |
アップロード操作の追加オプション、どのような条件下でアップロードを行うかなど。 |
OutputFileBlobContainerDestination
Azure BLOB ストレージ コンテナー内のファイルアップロード先を指定します。
| 名前 | 型 | 説明 |
|---|---|---|
| containerUrl |
string (uri) |
ファイルをアップロードするためのAzure Blob Storage内のコンテナのURLです。 管理型アイデンティティを使用していない場合、URLにはコンテナへの書き込み権限を与える共有アクセス署名(SAS)が含まれなければなりません。 |
| identityReference |
containerUrlで指定されたAzure Blob Storageにアクセスするために使うユーザー割り当てのアイデンティティを参照します。 アイデンティティはAzure Blob Storageコンテナへの書き込みアクセス権を持っている必要があります。 |
|
| path |
string |
Azure Storage コンテナ内の宛先 blob または仮想ディレクトリです。 filePatternが特定のファイル(ワイルドカードを含まない)を指す場合、pathはそのファイルをアップロードするブロブの名前です。 filePatternに1つ以上のワイルドカードが含まれ(複数のファイルに対応する場合)、pathはファイルをアップロードするためのブロブ仮想ディレクトリの名前(各ブロブ名の前に付加される)です。 省略された場合、ファイルはファイル名に一致するブロブ名でコンテナのルートにアップロードされます。 |
| uploadHeaders |
出力ファイルのアップロードに使用されるヘッダーの名前と値の組み合わせのリスト。 これらのヘッダーは、Azure Storageへのアップロード時に指定されます。 ブロブアップロード時に許可されるヘッダーに関する公式ドキュメント: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types。 |
OutputFileDestination
ファイルのアップロード先。
| 名前 | 型 | 説明 |
|---|---|---|
| container |
ファイルをアップロードするAzureのBlobストレージ内の場所です。 |
OutputFileUploadCondition
OutputFileUploadConditionの列挙
| 値 | 説明 |
|---|---|
| tasksuccess |
タスクプロセス終了後にのみファイルをアップロードし、終了コードは0です。 |
| taskfailure |
タスクプロセスが終了し、非ゼロの終了コードで終了した後にのみファイルをアップロードしてください。 |
| taskcompletion |
タスクプロセス終了後にファイルをアップロードしてください。出口コードが何であれ。 |
OutputFileUploadConfig
アップロードを実行する条件を含む、出力ファイルのアップロード操作のオプション。
| 名前 | 型 | 説明 |
|---|---|---|
| uploadCondition |
タスク出力ファイルまたはファイル群がアップロードされるべき条件。 デフォルトはタスク完了です。 |
OutputFileUploadHeader
HTTP ヘッダーの名前と値のペア
| 名前 | 型 | 説明 |
|---|---|---|
| name |
string |
出力ファイルのアップロード時に使用するヘッダーの大文字を区別しない名前です。 |
| value |
string |
出力ファイルのアップロード時に使用するヘッダーの値。 |
ResourceFile
コンピューティング ノードにダウンロードする 1 つのファイルまたは複数のファイル。
| 名前 | 型 | 説明 |
|---|---|---|
| autoStorageContainerName |
string |
自動ストレージアカウントのストレージコンテナ名です。 autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 |
| blobPrefix |
string |
Azure Storage コンテナーから BLOB をダウンロードするときに使用する BLOB プレフィックス。 指定したプレフィックスで始まる名前の BLOB のみがダウンロードされます。 このプロパティは、autoStorageContainerName または storageContainerUrl が使用されている場合にのみ有効です。 このプレフィックスには、部分的なファイル名またはサブディレクトリを指定できます。 プレフィックスが指定されていない場合は、コンテナー内のすべてのファイルがダウンロードされます。 |
| fileMode |
string |
ファイルアクセス許可モード属性 (8 進数形式)。 この特性は、Linux Compute Nodesにダウンロードされるファイルにのみ適用されます。 WindowsのCompute NodeにダウンロードされるresourceFileに指定されている場合は無視されます。 このプロパティがLinuxのコンピュートノードに指定されていない場合、ファイルにはデフォルト値0770が適用されます。 |
| filePath |
string |
タスクの作業ディレクトリに対してファイルをダウンロードするためのComputeノード上の位置。 httpUrl プロパティが指定されている場合、filePath は必須であり、ファイルのダウンロード先となるパス (ファイル名を含む) を記述します。 それ以外の場合、autoStorageContainerName または storageContainerUrl プロパティが指定されている場合、filePath は省略可能であり、ファイルをダウンロードするディレクトリです。 filePath がディレクトリとして使用されている場合、入力データに既に関連付けられているディレクトリ構造は完全に保持され、指定された filePath ディレクトリに追加されます。 指定された相対パスはタスクの作業ディレクトリから抜け出すことはできません(例えば「..」を使うなど)。 |
| httpUrl |
string (uri) |
ダウンロードするファイルの URL。 autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 URL が Azure Blob Storage を指している場合は、コンピューティング ノードから読み取ることができる必要があります。 Azure Storage 内の BLOB のこのような URL を取得するには、3 つの方法があります。BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、読み取りアクセス許可を持つマネージド ID を使用するか、BLOB またはそのコンテナーの ACL を設定してパブリック アクセスを許可します。 |
| identityReference |
storageContainerUrlまたはhttpUrlで指定されたAzure Blob Storageにアクセスするために使うユーザー割り当てのIDを参照します。 |
|
| storageContainerUrl |
string (uri) |
Azure Blob Storage 内の BLOB コンテナーの URL。 autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 この URL は、コンピューティング ノードから読み取り可能でリスト可能である必要があります。 Azure Storage 内のコンテナーのこのような URL を取得するには、3 つの方法があります。コンテナーに対する読み取りと一覧表示のアクセス許可を付与する Shared Access Signature (SAS) を含めるか、読み取りとリストのアクセス許可を持つマネージド ID を使用するか、コンテナーの ACL を設定してパブリック アクセスを許可します。 |
UserIdentity
タスクを実行するユーザー ID の定義。 userName プロパティまたは autoUser プロパティを指定しますが、両方を指定することはできません。
| 名前 | 型 | 説明 |
|---|---|---|
| autoUser |
タスクを実行する自動ユーザーです。 userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 |
|
| username |
string |
タスクが実行されるユーザーIDの名前。 userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 |