Sdílet prostřednictvím


New-AzBatchTask

Vytvoří úkol Batch v rámci úlohy.

Syntax

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>]

Description

Rutina New-AzBatchTask vytvoří úlohu Azure Batch v úloze určené parametrem JobId nebo parametrem Job .

Příklady

Příklad 1: Vytvoření úlohy Batch

New-AzBatchTask -JobId "Job-000001" -Id "Task23" -CommandLine "cmd /c dir /s" -BatchContext $Context

Tento příkaz vytvoří úkol s ID Úkol23 pod úlohou, která má ID Job-000001. Úloha spustí zadaný příkaz. Pomocí rutiny Get-AzBatchAccountKey přiřaďte kontext proměnné $Context.

Příklad 2: Vytvoření úlohy 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

Tento příkaz získá úlohu Batch, která má ID Job-000001 pomocí rutiny Get-AzBatchJob . Příkaz předá danou úlohu aktuální rutině pomocí operátoru kanálu. Příkaz vytvoří úkol s ID Task26 pod danou úlohou. Úloha spustí zadaný příkaz pomocí zvýšených oprávnění.

Příklad 3: Přidání kolekce úkolů do zadané úlohy pomocí kanálu

$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

První příkaz vytvoří odkaz na objekt na klíče účtu pro účet batch s názvem ContosoBatchAccount pomocí Get-AzBatchAccountKey. Příkaz uloží tento odkaz na objekt do proměnné $Context. Následující dva příkazy vytvářejí objekty PSCloudTask pomocí rutiny New-Object. Příkazy ukládají úkoly do proměnných $Task 01 a $Task 02. Poslední příkaz získá úlohu Batch, která má ID Job-000001 pomocí Get-AzBatchJob. Potom příkaz předá danou úlohu aktuální rutině pomocí operátoru kanálu. Příkaz přidá do této úlohy kolekci úkolů. Příkaz používá kontext uložený v $Context.

Příklad 4: Přidání kolekce úkolů do zadané úlohy

$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

První příkaz vytvoří odkaz na objekt na klíče účtu pro účet batch s názvem ContosoBatchAccount pomocí Get-AzBatchAccountKey. Příkaz uloží tento odkaz na objekt do proměnné $Context. Následující dva příkazy vytvářejí objekty PSCloudTask pomocí rutiny New-Object. Příkazy ukládají úkoly do proměnných $Task 01 a $Task 02. Poslední příkaz přidá úkoly uložené v $Task 01 a $Task 02 do úlohy, která má ID Job-000001.

Příklad 5: Přidání úlohy s výstupními soubory

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

Příklad 6: Přidání úlohy s nastavením ověřovacího tokenu

$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

Příklad 7: Přidání úlohy, která se spouští v kontejneru

$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

Parametry

-AffinityInformation

Určuje nápovědu pro lokalitu, kterou služba Batch používá k výběru uzlu, na kterém se má úloha spustit.

Typ:PSAffinityInformation
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationPackageReferences

Typ:PSApplicationPackageReference[]
Aliases:ApplicationPackageReference
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-AuthenticationTokenSettings

Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch. Pokud je tato možnost nastavená, služba Batch poskytuje úlohu s ověřovacím tokenem, který se dá použít k ověřování operací služby Batch, aniž by vyžadovala přístupový klíč účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úloha provádět pomocí tokenu, závisí na nastavení. Úkol může například požádat o oprávnění k úloze, aby mohl do úlohy přidat další úkoly, nebo zkontrolovat stav úlohy nebo jiných úkolů.

Typ:PSAuthenticationTokenSettings
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-BatchContext

Určuje instanci BatchAccountContext , kterou tato rutina používá k interakci se službou Batch. Pokud k získání účtu BatchAccount použijete rutinu Get-AzBatchAccount, použije se při interakci se službou Batch ověřování Microsoft Entra. Pokud chcete místo toho použít ověřování pomocí sdíleného klíče, použijte rutinu Get-AzBatchAccountKey k získání objektu BatchAccountContext s vyplněnými přístupovými klíči. Při použití ověřování pomocí sdíleného klíče se ve výchozím nastavení používá primární přístupový klíč. Pokud chcete změnit klíč, který chcete použít, nastavte vlastnost BatchAccountContext.KeyInUse.

Typ:BatchAccountContext
Position:Named
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:True
Accept wildcard characters:False

-CommandLine

Určuje příkazový řádek úkolu.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:False
Accept wildcard characters:False

-Constraints

Určuje omezení provádění, která se vztahují na tuto úlohu.

Typ:PSTaskConstraints
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ContainerSettings

Nastavení kontejneru, pod kterým se úloha spouští. Pokud má fond, který bude tuto úlohu spouštět, nastavena kontejnerConfiguration, musí být také nastavena. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavena. Po zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a příkazový řádek úkolu se spustí v kontejneru.

Typ:PSTaskContainerSettings
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure.

Typ:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-DependsOn

Určuje, že úkol závisí na jiných úkolech. Úkol nebude naplánován, dokud se všechny závislé úkoly úspěšně nedokončily.

Typ:TaskDependencies
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Určuje zobrazovaný název úkolu.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-EnvironmentSettings

Určuje nastavení prostředí, jako páry klíč/hodnota, které tato rutina přidá do úlohy. Klíč je název nastavení prostředí. Hodnota je nastavení prostředí.

Typ:IDictionary
Aliases:EnvironmentSetting
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ExitConditions

Typ:PSExitConditions
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Určuje ID úkolu.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:False
Accept wildcard characters:False

-Job

Určuje úlohu, pod kterou tato rutina vytvoří úlohu. K získání objektu PSCloudJob použijte rutinu Get-AzBatchJob.

Typ:PSCloudJob
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:True
Accept wildcard characters:False

-JobId

Určuje ID úlohy, pod kterou tato rutina vytvoří úlohu.

Typ:String
Position:Named
výchozí hodnota:None
Vyžadováno:True
Accept pipeline input:False
Accept wildcard characters:False

-MultiInstanceSettings

Určuje informace o tom, jak spustit úlohu s více instancemi.

Typ:PSMultiInstanceSettings
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputFile

Získá nebo nastaví seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku. U úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém je spuštěn primární úkol.

Typ:PSOutputFile[]
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceFiles

Určuje soubory prostředků, jako páry klíč/hodnota, které úkol vyžaduje. Klíč je cesta k souboru prostředků. Hodnota je zdroj objektu blob souboru prostředku.

Typ:PSResourceFile[]
Aliases:ResourceFile
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-Tasks

Určuje kolekci úkolů, které se mají přidat. Každý úkol musí mít jedinečné ID.

Typ:PSCloudTask[]
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

-UserIdentity

Identita uživatele, pod kterou se úloha spouští.

Typ:PSUserIdentity
Position:Named
výchozí hodnota:None
Vyžadováno:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

PSCloudJob

BatchAccountContext

Výstupy

Void