Delen via


New-AzBatchTask

Hiermee maakt u een Batch-taak onder een taak.

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

Met de cmdlet New-AzBatchTask wordt een Azure Batch-taak gemaakt onder de taak die is opgegeven door de parameter JobId of de taakparameter .

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 haalt u de Batch-taak op met de id Job-000001 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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationPackageReferences

Type:PSApplicationPackageReference[]
Aliases:ApplicationPackageReference
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-BatchContext

Hiermee geeft u het BatchAccountContext-exemplaar op 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 gedeelde sleutelverificatie 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
standaardwaarde:None
Vereist:True
Accept pipeline input:True
Accept wildcard characters:False

-CommandLine

Hiermee geeft u de opdrachtregel voor de taak.

Type:String
Position:Named
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-Constraints

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

Type:PSTaskConstraints
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Hiermee geeft u de weergavenaam van de taak.

Type:String
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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
Aliases:EnvironmentSetting
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-ExitConditions

Type:PSExitConditions
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Hiermee geeft u de id van de taak.

Type:String
Position:Named
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-Job

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

Type:PSCloudJob
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:True
Accept wildcard characters:False

-JobId

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

Type:String
Position:Named
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-MultiInstanceSettings

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

Type:PSMultiInstanceSettings
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters: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[]
Aliases:ResourceFile
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-Tasks

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

Type:PSCloudTask[]
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-UserIdentity

De gebruikersidentiteit waaronder de taak wordt uitgevoerd.

Type:PSUserIdentity
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

PSCloudJob

BatchAccountContext

Uitvoerwaarden

Void