New-AzBatchTask

Erstellt eine Batchaufgabe unter einem Auftrag.

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

Beschreibung

Das Cmdlet New-AzBatchTask erstellt eine Azure Batch-Aufgabe unter dem Auftrag, der durch den JobId-Parameter oder den Job-Parameter angegeben wird.

Beispiele

Beispiel 1: Erstellen einer Batchaufgabe

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

Dieser Befehl erstellt eine Aufgabe mit der ID Task23 unter dem Auftrag, der die ID Job-000001 aufweist. Die Aufgabe führt den angegebenen Befehl aus. Verwenden Sie das Cmdlet Get-AzBatchAccountKey , um der variablen $Context einen Kontext zuzuweisen.

Beispiel 2: Erstellen einer Batchaufgabe

$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

Dieser Befehl ruft den Batchauftrag ab, der über den ID-Auftrag 000001 verfügt, indem das Cmdlet Get-AzBatchJob verwendet wird. Der Befehl übergibt diesen Auftrag mithilfe des Pipelineoperators an das aktuelle Cmdlet. Der Befehl erstellt eine Aufgabe mit der ID Task26 unter diesem Auftrag. Die Aufgabe führt den angegebenen Befehl mithilfe von erhöhten Berechtigungen aus.

Beispiel 3: Hinzufügen einer Sammlung von Aufgaben zum angegebenen Auftrag mithilfe der Pipeline

$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

Der erste Befehl erstellt einen Objektverweis auf die Kontoschlüssel für das Batchkonto "ContosoBatchAccount" mithilfe von "Get-AzBatchAccountKey". Der Befehl speichert diesen Objektverweis in der $Context Variablen. Die nächsten beiden Befehle erstellen PSCloudTask-Objekte mithilfe des New-Object-Cmdlets. Die Befehle speichern die Aufgaben in den Variablen $Task 01 und $Task 02. Der letzte Befehl ruft den Batchauftrag ab, der über den ID-Auftrag 000001 mit Get-AzBatchJob verfügt. Anschließend übergibt der Befehl diesen Auftrag mithilfe des Pipelineoperators an das aktuelle Cmdlet. Der Befehl fügt eine Sammlung von Aufgaben unter diesem Auftrag hinzu. Der Befehl verwendet den in $Context gespeicherten Kontext.

Beispiel 4: Hinzufügen einer Sammlung von Aufgaben zum angegebenen Auftrag

$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

Der erste Befehl erstellt einen Objektverweis auf die Kontoschlüssel für das Batchkonto "ContosoBatchAccount" mithilfe von "Get-AzBatchAccountKey". Der Befehl speichert diesen Objektverweis in der $Context Variablen. Die nächsten beiden Befehle erstellen PSCloudTask-Objekte mithilfe des New-Object-Cmdlets. Die Befehle speichern die Aufgaben in den Variablen $Task 01 und $Task 02. Mit dem letzten Befehl werden die aufgaben hinzugefügt, die in $Task 01 und $Task 02 unter dem Auftrag gespeichert sind, der den ID-Auftrag 000001 aufweist.

Beispiel 5: Hinzufügen einer Aufgabe mit Ausgabedateien

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

Beispiel 6: Hinzufügen einer Aufgabe mit Authentifizierungstokeneinstellungen

$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

Beispiel 7: Hinzufügen einer Aufgabe, die in einem Container ausgeführt wird

$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

Parameter

-AffinityInformation

Gibt einen Gebietsschemahinweis an, den der Batchdienst zum Auswählen eines Knotens verwendet, auf dem die Aufgabe ausgeführt werden soll.

Type:PSAffinityInformation
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationPackageReferences

Type:PSApplicationPackageReference[]
Aliases:ApplicationPackageReference
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuthenticationTokenSettings

Die Einstellungen für ein Authentifizierungstoken, das von der Aufgabe zum Ausführen von Batchdienstvorgängen verwendet werden kann. Wenn dies festgelegt ist, stellt der Batchdienst die Aufgabe mit einem Authentifizierungstoken bereit, das zum Authentifizieren von Batchdienstvorgängen verwendet werden kann, ohne dass ein Kontozugriffsschlüssel erforderlich ist. Das Token wird über die AZ_BATCH_AUTHENTICATION_TOKEN Umgebungsvariable bereitgestellt. Die Vorgänge, die die Aufgabe mit dem Token ausführen kann, hängen von den Einstellungen ab. Beispielsweise kann eine Aufgabe Auftragsberechtigungen anfordern, um dem Auftrag weitere Aufgaben hinzuzufügen oder den Status des Auftrags oder anderer Aufgaben zu überprüfen.

Type:PSAuthenticationTokenSettings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BatchContext

Gibt die BatchAccountContext-Instanz an, die dieses Cmdlet für die Interaktion mit dem Batchdienst verwendet. Wenn Sie das Cmdlet Get-AzBatchAccount verwenden, um Ihren BatchAccountContext abzurufen, wird die Microsoft Entra-Authentifizierung bei der Interaktion mit dem Batchdienst verwendet. Verwenden Sie zum Verwenden der gemeinsamen Schlüsselauthentifizierung stattdessen das Cmdlet "Get-AzBatchAccountKey", um ein BatchAccountContext-Objekt mit den aufgefüllten Zugriffstasten abzurufen. Bei Verwendung der Authentifizierung mit gemeinsam genutzten Schlüsseln wird standardmäßig der primäre Zugriffsschlüssel verwendet. Um den zu verwendenden Schlüssel zu ändern, legen Sie die BatchAccountContext.KeyInUse-Eigenschaft fest.

Type:BatchAccountContext
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CommandLine

Gibt die Befehlszeile für die Aufgabe an.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Constraints

Gibt die Ausführungseinschränkungen an, die für diesen Vorgang gelten.

Type:PSTaskConstraints
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContainerSettings

Die Einstellungen für den Container, unter dem die Aufgabe ausgeführt wird. Wenn der Pool, der diese Aufgabe ausführt, containerConfiguration festgelegt ist, muss dies ebenfalls festgelegt werden. Wenn der Pool, der diese Aufgabe ausführt, keinen containerConfiguration-Satz aufweist, darf dies nicht festgelegt werden. Wenn dies angegeben wird, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Stamm von Azure Batchverzeichnissen auf dem Knoten) dem Container zugeordnet, alle Aufgabenumgebungsvariablen werden dem Container zugeordnet, und die Aufgabenbefehlszeile wird im Container ausgeführt.

Type:PSTaskContainerSettings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DependsOn

Gibt an, dass der Vorgang von anderen Vorgängen abhängt. Der Vorgang wird erst geplant, wenn alle abhängigen Vorgänge erfolgreich abgeschlossen wurden.

Type:TaskDependencies
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Gibt den Anzeigenamen der Aufgabe an.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnvironmentSettings

Gibt die Umgebungseinstellungen als Schlüssel-Wert-Paare an, die dieses Cmdlet der Aufgabe hinzufügt. Der Schlüssel ist der Name der Umgebungseinstellung. Der Wert ist die Umgebungseinstellung.

Type:IDictionary
Aliases:EnvironmentSetting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExitConditions

Type:PSExitConditions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Gibt die ID des Vorgangs an.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Job

Gibt den Auftrag an, unter dem dieses Cmdlet die Aufgabe erstellt. Verwenden Sie das Cmdlet Get-AzBatchJob, um ein PSCloudJob-Objekt abzurufen.

Type:PSCloudJob
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-JobId

Gibt die ID des Auftrags an, unter dem dieses Cmdlet die Aufgabe erstellt.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MultiInstanceSettings

Gibt Informationen zum Ausführen einer Aufgabe mit mehreren Instanzen an.

Type:PSMultiInstanceSettings
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputFile

Ruft eine Liste der Dateien ab, die der Batchdienst nach dem Ausführen der Befehlszeile vom Computeknoten hochlädt, oder legt diese fest. Bei Aufgaben mit mehreren Instanzen werden die Dateien nur vom Computeknoten hochgeladen, auf dem die primäre Aufgabe ausgeführt wird.

Type:PSOutputFile[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceFiles

Gibt Ressourcendateien als Schlüssel-Wert-Paare an, die der Vorgang benötigt. Der Schlüssel ist der Ressourcendateipfad. Der Wert ist die Blobquelle der Ressourcendatei.

Type:PSResourceFile[]
Aliases:ResourceFile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tasks

Gibt die Auflistung der hinzuzufügenden Aufgaben an. Jede Aufgabe muss über eine eindeutige ID verfügen.

Type:PSCloudTask[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserIdentity

Die Benutzeridentität, unter der die Aufgabe ausgeführt wird.

Type:PSUserIdentity
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

PSCloudJob

BatchAccountContext

Ausgaben

Void