Task - Add

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

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2023-11-01.18.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2023-11-01.18.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 秒です。

要求ヘッダー

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" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (タスク作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。

id True

string

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

affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

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

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 環境変数がコンテナーにマップされ、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。
省略すると、Task は Task に固有の非管理ユーザーとして実行されます。

応答

名前 説明
201 Created

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

Headers

  • 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 認証コード フロー

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名前 説明
user_impersonation ユーザー アカウントの借用

Authorization

Type: apiKey
In: header

Add a basic task
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with container settings

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with exit conditions

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

Add a task with extra slot requirement

Sample Request

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2023-11-01.18.0



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

Sample Response

定義

名前 説明
AccessScope

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

AffinityInformation

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

ApplicationPackageReference

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

AuthenticationTokenSettings

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

AutoUserScope

自動ユーザーのスコープ

AutoUserSpecification

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

BatchError

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

BatchErrorDetail

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

ComputeNodeIdentityReference

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

ContainerRegistry

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

ContainerWorkingDirectory

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

DependencyAction

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

ElevationLevel

ユーザーの昇格レベル。

EnvironmentSetting

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

ErrorMessage

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

ExitCodeMapping

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

ExitCodeRangeMapping

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

ExitConditions

タスクの完了時に Batch サービスがどのように応答するかを指定します。

ExitOptions

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

HttpHeader

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

JobAction

Task が特定の終了条件で完了し、ジョブの 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 で失敗します。 Task でこれを省略し、このアプリケーションに既定のバージョンが指定されていない場合、タスクは前処理エラーで失敗します。

AuthenticationTokenSettings

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

名前 説明
access

AccessScope[]

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

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。

ContainerRegistry

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

名前 説明
identityReference

ComputeNodeIdentityReference

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

password

string

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

registryServer

string

レジストリ URL。
省略すると、既定値は "docker.io" になります。

username

string

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

ContainerWorkingDirectory

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

名前 説明
containerImageDefault

string

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

taskWorkingDirectory

string

標準の Batch サービス Task 作業ディレクトリを使用します。このディレクトリには、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

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

HttpHeader

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

名前 説明
name

string

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

value

string

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

JobAction

Task が特定の終了条件で完了し、ジョブの 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 の場合は %var% または Linux では$var) は、パターンが適用される前に展開されます。

uploadOptions

OutputFileUploadOptions

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

OutputFileBlobContainerDestination

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

名前 説明
containerUrl

string

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

identityReference

ComputeNodeIdentityReference

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

path

string

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

uploadHeaders

HttpHeader[]

出力ファイルのアップロードで使用するヘッダーの名前と値のペアの一覧
これらのヘッダーは、Azure Storage にファイルをアップロードするときに指定されます。 BLOB のアップロード時に許可されるヘッダーに関する公式ドキュメント: https://docs.microsoft.com/en-us/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" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (タスク作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/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 環境変数がコンテナーにマップされ、Task コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIRの外部のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。

dependsOn

TaskDependencies

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

displayName

string

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

environmentSettings

EnvironmentSetting[]

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

exitConditions

ExitConditions

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

id

string

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

multiInstanceSettings

MultiInstanceSettings

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

outputFiles

OutputFile[]

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

requiredSlots

integer

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

resourceFiles

ResourceFile[]

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

userIdentity

UserIdentity

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

TaskConstraints

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

名前 説明
maxTaskRetryCount

integer

タスクを再試行できる最大回数。 終了コードが 0 以外の場合、Batch サービスは Task を再試行します。
この値は、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

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

名前 説明
containerRunOptions

string

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

imageName

string

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

registry

ContainerRegistry

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

workingDirectory

ContainerWorkingDirectory

コンテナー Task 作業ディレクトリの場所。
既定値は '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 つを指定する必要がありますが、両方を指定する必要はありません。