Delen via


New-AzBatchTask

Hiermee maakt u een Batch-taak onder een taak.

Syntaxis

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

Met de cmdlet New-AzBatchTask maakt u een Azure Batch-taak onder de taak die is opgegeven door de parameter JobId of de parameter Job.

Voorbeelden

Voorbeeld 1: Een Batch-taak maken

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

Met deze opdracht maakt u een taak met de id-taak23 onder de taak met de id-taak-000001. Met de taak wordt de opgegeven opdracht uitgevoerd. Gebruik de cmdlet Get-AzBatchAccountKey om een context toe te wijzen aan de variabele $Context.

Voorbeeld 2: Een Batch-taak maken

$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

Met deze opdracht haalt u de Batch-taak op met de id Job-000001 met behulp van de cmdlet Get-AzBatchJob. De opdracht geeft die taak door aan de huidige cmdlet met behulp van de pijplijnoperator. Met de opdracht maakt u een taak met de id-taak26 onder die taak. De taak voert de opgegeven opdracht uit met behulp van verhoogde machtigingen.

Voorbeeld 3: Een verzameling taken toevoegen aan de opgegeven taak met behulp van de pijplijn

$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

Met de eerste opdracht maakt u een objectverwijzing naar de accountsleutels voor het batchaccount met de naam ContosoBatchAccount met behulp van Get-AzBatchAccountKey. Met de opdracht wordt deze objectverwijzing opgeslagen in de $Context variabele. Met de volgende twee opdrachten maakt u PSCloudTask--objecten met behulp van de cmdlet New-Object. Met de opdrachten worden de taken opgeslagen in de variabelen $Task 01 en $Task 02. Met de laatste opdracht wordt de Batch-taak met de id Job-000001 ophaalt met behulp van Get-AzBatchJob. Vervolgens geeft de opdracht die taak door aan de huidige cmdlet met behulp van de pijplijnoperator. Met de opdracht wordt een verzameling taken onder die taak toegevoegd. De opdracht maakt gebruik van de context die is opgeslagen in $Context.

Voorbeeld 4: Een verzameling taken toevoegen aan de opgegeven taak

$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

Met de eerste opdracht maakt u een objectverwijzing naar de accountsleutels voor het batchaccount met de naam ContosoBatchAccount met behulp van Get-AzBatchAccountKey. Met de opdracht wordt deze objectverwijzing opgeslagen in de $Context variabele. Met de volgende twee opdrachten maakt u PSCloudTask--objecten met behulp van de cmdlet New-Object. Met de opdrachten worden de taken opgeslagen in de variabelen $Task 01 en $Task 02. Met de laatste opdracht worden de taken toegevoegd die zijn opgeslagen in $Task 01 en $Task 02 onder de taak met de id Job-000001.

Voorbeeld 5: Een taak met uitvoerbestanden toevoegen

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

Voorbeeld 6: Een taak met verificatietokeninstellingen toevoegen

$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

Voorbeeld 7: Een taak toevoegen die wordt uitgevoerd in een container

$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

Parameters

-AffinityInformation

Hiermee geeft u een lokalisatiehint op die door de Batch-service wordt gebruikt om een knooppunt te selecteren waarop de taak moet worden uitgevoerd.

Type:PSAffinityInformation
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ApplicationPackageReferences

Type:PSApplicationPackageReference[]
Aliassen:ApplicationPackageReference
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AuthenticationTokenSettings

De instellingen voor een verificatietoken die de taak kan gebruiken om Batch-servicebewerkingen uit te voeren. Als dit is ingesteld, biedt de Batch-service de taak een verificatietoken dat kan worden gebruikt voor het verifiëren van Batch-servicebewerkingen zonder dat hiervoor een toegangssleutel voor het account is vereist. Het token wordt geleverd via de omgevingsvariabele AZ_BATCH_AUTHENTICATION_TOKEN. De bewerkingen die de taak kan uitvoeren met behulp van het token, zijn afhankelijk van de instellingen. Een taak kan bijvoorbeeld taakmachtigingen aanvragen om andere taken aan de taak toe te voegen of de status van de taak of van andere taken te controleren.

Type:PSAuthenticationTokenSettings
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-BatchContext

Hiermee geeft u het BatchAccountContext exemplaar dat door deze cmdlet wordt gebruikt om te communiceren met de Batch-service. Als u de cmdlet Get-AzBatchAccount gebruikt om uw BatchAccountContext op te halen, wordt Microsoft Entra-verificatie gebruikt bij interactie met de Batch-service. Als u in plaats daarvan verificatie met gedeelde sleutels wilt gebruiken, gebruikt u de cmdlet Get-AzBatchAccountKey om een BatchAccountContext-object op te halen waarin de bijbehorende toegangssleutels zijn ingevuld. Wanneer u verificatie met gedeelde sleutels gebruikt, wordt de primaire toegangssleutel standaard gebruikt. Als u de sleutel wilt wijzigen die u wilt gebruiken, stelt u de eigenschap BatchAccountContext.KeyInUse in.

Type:BatchAccountContext
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-CommandLine

Hiermee geeft u de opdrachtregel voor de taak.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Constraints

Hiermee geeft u de uitvoeringsbeperkingen op die van toepassing zijn op deze taak.

Type:PSTaskConstraints
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ContainerSettings

De instellingen voor de container waaronder de taak wordt uitgevoerd. Als voor de pool die deze taak wordt uitgevoerd, een containerConfiguration-set is ingesteld, moet dit ook worden ingesteld. Als de pool die deze taak uitvoert, geen containerConfiguration-set heeft, mag dit niet worden ingesteld. Wanneer dit is opgegeven, worden alle mappen recursief onder de AZ_BATCH_NODE_ROOT_DIR (de hoofdmap van Azure Batch-mappen op het knooppunt) toegewezen aan de container, worden alle omgevingsvariabelen voor taken toegewezen aan de container en wordt de opdrachtregel van de taak uitgevoerd in de container.

Type:PSTaskContainerSettings
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DefaultProfile

De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.

Type:IAzureContextContainer
Aliassen:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DependsOn

Hiermee geeft u op dat de taak afhankelijk is van andere taken. De taak wordt pas gepland als alle afhankelijke taken zijn voltooid.

Type:TaskDependencies
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DisplayName

Hiermee geeft u de weergavenaam van de taak.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-EnvironmentSettings

Hiermee geeft u de omgevingsinstellingen, als sleutel-waardeparen, op die door deze cmdlet aan de taak worden toegevoegd. De sleutel is de naam van de omgevingsinstelling. De waarde is de omgevingsinstelling.

Type:IDictionary
Aliassen:EnvironmentSetting
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ExitConditions

Type:PSExitConditions
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Id

Hiermee geeft u de id van de taak.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Job

Hiermee geeft u de taak op waaronder deze cmdlet de taak maakt. Gebruik de Get-AzBatchJob-cmdlet om een PSCloudJob--object op te halen.

Type:PSCloudJob
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-JobId

Hiermee geeft u de id op van de taak waaronder deze cmdlet de taak maakt.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MultiInstanceSettings

Hiermee geeft u informatie op over het uitvoeren van een taak met meerdere exemplaren.

Type:PSMultiInstanceSettings
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-OutputFile

Hiermee wordt een lijst met bestanden opgehaald of ingesteld die door de Batch-service worden geüpload vanaf het rekenknooppunt nadat de opdrachtregel is uitgevoerd. Voor taken met meerdere exemplaren worden de bestanden alleen geüpload vanaf het rekenknooppunt waarop de primaire taak wordt uitgevoerd.

Type:PSOutputFile[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ResourceFiles

Hiermee geeft u resourcebestanden, als sleutel-waardeparen, op die de taak vereist. De sleutel is het pad naar het bronbestand. De waarde is de blobbron van het bronbestand.

Type:PSResourceFile[]
Aliassen:ResourceFile
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Tasks

Hiermee geeft u de verzameling taken die moeten worden toegevoegd. Elke taak moet een unieke id hebben.

Type:PSCloudTask[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-UserIdentity

De gebruikersidentiteit waaronder de taak wordt uitgevoerd.

Type:PSUserIdentity
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSCloudJob

BatchAccountContext

Uitvoerwaarden

Void