New-AzBatchTask
ジョブの下に Batch タスクを作成します。
構文
New-AzBatchTask
-JobId <String>
-Id <String>
[-DisplayName <String>]
-CommandLine <String>
[-ResourceFiles <PSResourceFile[]>]
[-EnvironmentSettings <IDictionary>]
[-AuthenticationTokenSettings <PSAuthenticationTokenSettings>]
[-UserIdentity <PSUserIdentity>]
[-AffinityInformation <PSAffinityInformation>]
[-Constraints <PSTaskConstraints>]
[-MultiInstanceSettings <PSMultiInstanceSettings>]
[-DependsOn <TaskDependencies>]
[-ApplicationPackageReferences <PSApplicationPackageReference[]>]
[-OutputFile <PSOutputFile[]>]
[-ExitConditions <PSExitConditions>]
[-ContainerSettings <PSTaskContainerSettings>]
-BatchContext <BatchAccountContext>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzBatchTask
-JobId <String>
[-Tasks <PSCloudTask[]>]
-BatchContext <BatchAccountContext>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzBatchTask
[-Job <PSCloudJob>]
[-Tasks <PSCloudTask[]>]
-BatchContext <BatchAccountContext>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzBatchTask
[-Job <PSCloudJob>]
-Id <String>
[-DisplayName <String>]
-CommandLine <String>
[-ResourceFiles <PSResourceFile[]>]
[-EnvironmentSettings <IDictionary>]
[-AuthenticationTokenSettings <PSAuthenticationTokenSettings>]
[-UserIdentity <PSUserIdentity>]
[-AffinityInformation <PSAffinityInformation>]
[-Constraints <PSTaskConstraints>]
[-MultiInstanceSettings <PSMultiInstanceSettings>]
[-DependsOn <TaskDependencies>]
[-ApplicationPackageReferences <PSApplicationPackageReference[]>]
[-OutputFile <PSOutputFile[]>]
[-ExitConditions <PSExitConditions>]
[-ContainerSettings <PSTaskContainerSettings>]
-BatchContext <BatchAccountContext>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
説明
New-AzBatchTask コマンドレットは、JobId パラメーターまたは Job パラメーターで指定されたジョブの下に Azure Batch タスクを作成します。
例
例 1: Batch タスクを作成する
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -BatchContext $Context
このコマンドは、ID Job-000001 を持つジョブの下に ID Task23 を持つタスクを作成します。 タスクは、指定されたコマンドを実行します。 $Context変数にコンテキストを割り当てるには、 Get-AzBatchAccountKey コマンドレットを使用します。
例 2: Batch タスクを作成する
$autoUser = New-Object Microsoft.Azure.Commands.Batch.Models.PSAutoUserSpecification -ArgumentList @("Task", "Admin")
$userIdentity = New-Object Microsoft.Azure.Commands.Batch.Models.PSUserIdentity $autoUser
Get-AzBatchJob -Id "Job-000001" -BatchContext $Context | New-AzBatchTask -Id "Task26" -CommandLine "cmd /c echo hello > newFile.txt" -UserIdentity $userIdentity -BatchContext $Context
このコマンドは、 Get-AzBatchJob コマンドレットを使用して、ID Job-000001 を持つ Batch ジョブを取得します。 コマンドは、パイプライン 演算子を使用して、そのジョブを現在のコマンドレットに渡します。 このコマンドは、そのジョブの下に ID Task26 を持つタスクを作成します。 タスクは、管理者特権のアクセス許可を使用して、指定されたコマンドを実行します。
例 3: パイプラインを使用して、指定したジョブにタスクのコレクションを追加する
$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
$Task01 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task23", "cmd /c dir /s")
$Task02 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task24", "cmd /c dir /s")
Get-AzBatchJob -Id "Job-000001" -BatchContext $Context | New-AzBatchTask -Tasks @($Task01, $Task02) -BatchContext $Context
最初のコマンドでは、 Get-AzBatchAccountKey を使用して、ContosoBatchAccount という名前のバッチ アカウントのアカウント キーへのオブジェクト参照を作成します。 このコマンドは、このオブジェクト参照を $Context 変数に格納します。 次の 2 つのコマンドでは、New-Object コマンドレットを使用して PSCloudTask オブジェクトを作成します。 コマンドは、タスクを $Task 01 変数と $Task 02 変数に格納します。 最後のコマンドは、 Get-AzBatchJob を使用して、ID Job-000001 を持つ Batch ジョブを取得します。 その後、コマンドはパイプライン演算子を使用して、そのジョブを現在のコマンドレットに渡します。 このコマンドは、そのジョブの下にタスクのコレクションを追加します。 このコマンドは、$Contextに格納されているコンテキストを使用します。
例 4: 指定したジョブにタスクのコレクションを追加する
$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
$Task01 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task23", "cmd /c dir /s")
$Task02 = New-Object Microsoft.Azure.Commands.Batch.Models.PSCloudTask("Task24", "cmd /c dir /s")
New-AzBatchTask -JobId "Job-000001" -Tasks @($Task01, $Task02) -BatchContext $Context
最初のコマンドでは、 Get-AzBatchAccountKey を使用して、ContosoBatchAccount という名前のバッチ アカウントのアカウント キーへのオブジェクト参照を作成します。 このコマンドは、このオブジェクト参照を $Context 変数に格納します。 次の 2 つのコマンドでは、New-Object コマンドレットを使用して PSCloudTask オブジェクトを作成します。 コマンドは、タスクを $Task 01 変数と $Task 02 変数に格納します。 最後のコマンドは、ID Job-000001 を持つジョブの下に、$Task 01 および $Task 02 に格納されているタスクを追加します。
例 5: 出力ファイルを含むタスクを追加する
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -BatchContext $Context
$blobContainerDestination = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileBlobContainerDestination "https://myaccount.blob.core.windows.net/sascontainer?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D"
$destination = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileDestination $blobContainerDestination
$uploadOptions = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFileUploadOptions "TaskSuccess"
$outputFile = New-Object Microsoft.Azure.Commands.Batch.Models.PSOutputFile "*.txt", $blobContainerDestination, $uploadOptions
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -OutputFile $outputFile -BatchContext $Context
例 6: 認証トークン設定を使用してタスクを追加する
$authSettings = New-Object Microsoft.Azure.Commands.Batch.Models.PSAuthenticationTokenSettings
$authSettings.Access = "Job"
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -AuthenticationTokenSettings $authSettings -BatchContext $Context
例 7: コンテナーで実行されるタスクを追加する
$Context = Get-AzBatchAccountKey -AccountName "ContosoBatchAccount"
New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -ContainerSettings (New-Object Microsoft.Azure.Commands.Batch.Models.PSTaskContainerSettings "containerImageName") -BatchContext $Context
パラメーター
-AffinityInformation
Batch サービスがタスクを実行するノードを選択するために使用するローカリティ ヒントを指定します。
型: | PSAffinityInformation |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationPackageReferences
型: | PSApplicationPackageReference[] |
Aliases: | ApplicationPackageReference |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AuthenticationTokenSettings
Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 これが設定されている場合、Batch サービスは、アカウント アクセス キーを必要とせずに Batch サービス操作を認証するために使用できる認証トークンをタスクに提供します。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使用して実行できる操作は、設定によって異なります。 たとえば、タスクは、ジョブに他のタスクを追加したり、ジョブまたは他のタスクの状態を確認したりするために、ジョブのアクセス許可を要求できます。
型: | PSAuthenticationTokenSettings |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-BatchContext
このコマンドレットが Batch サービスとの対話に使用する BatchAccountContext インスタンスを指定します。 Get-AzBatchAccount コマンドレットを使用して BatchAccountContext を取得する場合、Batch サービスと対話するときに Microsoft Entra 認証が使用されます。 代わりに共有キー認証を使用するには、Get-AzBatchAccountKey コマンドレットを使用して、アクセス キーが設定された BatchAccountContext オブジェクトを取得します。 共有キー認証を使用する場合、プライマリ アクセス キーは既定で使用されます。 使用するキーを変更するには、BatchAccountContext.KeyInUse プロパティを設定します。
型: | BatchAccountContext |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-CommandLine
タスクのコマンド ラインを指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Constraints
このタスクに適用される実行制約を指定します。
型: | PSTaskConstraints |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ContainerSettings
タスクを実行するコンテナーの設定。 このタスクを実行するプールに containerConfiguration が設定されている場合は、これも設定する必要があります。 このタスクを実行するプールに containerConfiguration が設定されていない場合は、これを設定しないでください。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべてのタスク環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。
型: | PSTaskContainerSettings |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。
型: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DependsOn
タスクが他のタスクに依存することを指定します。 依存しているすべてのタスクが正常に完了するまで、タスクはスケジュールされません。
型: | TaskDependencies |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisplayName
タスクの表示名を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-EnvironmentSettings
このコマンドレットがタスクに追加する環境設定をキーと値のペアとして指定します。 キーは環境設定名です。 値は環境設定です。
型: | IDictionary |
Aliases: | EnvironmentSetting |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ExitConditions
型: | PSExitConditions |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Id
タスクの ID を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Job
このコマンドレットでタスクを作成するジョブを指定します。 PSCloudJob オブジェクトを取得するには、Get-AzBatchJob コマンドレットを使用します。
型: | PSCloudJob |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-JobId
このコマンドレットでタスクを作成するジョブの ID を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MultiInstanceSettings
マルチインスタンス タスクを実行する方法に関する情報を指定します。
型: | PSMultiInstanceSettings |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-OutputFile
コマンド ラインの実行後に Batch サービスがコンピューティング ノードからアップロードするファイルの一覧を取得または設定します。 マルチインスタンス タスクの場合、ファイルは、プライマリ タスクが実行されるコンピューティング ノードからのみアップロードされます。
型: | PSOutputFile[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ResourceFiles
タスクに必要なリソース ファイルをキーと値のペアとして指定します。 キーはリソース ファイルのパスです。 値はリソース ファイルの BLOB ソースです。
型: | PSResourceFile[] |
Aliases: | ResourceFile |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Tasks
追加するタスクのコレクションを指定します。 各タスクには一意の ID が必要です。
型: | PSCloudTask[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserIdentity
タスクを実行するユーザー ID。
型: | PSUserIdentity |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
出力
関連リンク
Azure PowerShell