次の方法で共有


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

入力

PSCloudJob

BatchAccountContext

出力

Void