New-AzBatchTask

Crea un'attività Batch in un processo.

Sintassi

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

Descrizione

Il cmdlet New-AzBatchTask crea un'attività di Azure Batch nel processo specificato dal parametro JobId o dal parametro Job .

Esempio

Esempio 1: Creare un'attività Batch

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

Questo comando crea un'attività con ID Task23 nel processo con ID Job-000001. L'attività esegue il comando specificato. Usare il cmdlet Get-AzBatchAccountKey per assegnare un contesto alla variabile $Context.

Esempio 2: Creare un'attività 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

Questo comando ottiene il processo Batch con ID Job-000001 usando il cmdlet Get-AzBatchJob . Il comando passa tale processo al cmdlet corrente usando l'operatore pipeline. Il comando crea un'attività con ID Task26 in tale processo. L'attività esegue il comando specificato usando autorizzazioni elevate.

Esempio 3: Aggiungere una raccolta di attività al processo specificato usando la 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

Il primo comando crea un riferimento all'oggetto alle chiavi dell'account batch denominato ContosoBatchAccount usando Get-AzBatchAccountKey. Il comando archivia questo riferimento all'oggetto nella variabile $Context. I due comandi successivi creano oggetti PSCloudTask usando il cmdlet New-Object. I comandi archiviano le attività nelle variabili $Task 01 e $Task 02. Il comando finale ottiene il processo batch con ID Job-000001 usando Get-AzBatchJob. Il comando passa quindi il processo al cmdlet corrente usando l'operatore pipeline. Il comando aggiunge una raccolta di attività in tale processo. Il comando usa il contesto archiviato in $Context.

Esempio 4: Aggiungere una raccolta di attività al processo specificato

$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

Il primo comando crea un riferimento all'oggetto alle chiavi dell'account batch denominato ContosoBatchAccount usando Get-AzBatchAccountKey. Il comando archivia questo riferimento all'oggetto nella variabile $Context. I due comandi successivi creano oggetti PSCloudTask usando il cmdlet New-Object. I comandi archiviano le attività nelle variabili $Task 01 e $Task 02. Il comando finale aggiunge le attività archiviate in $Task 01 e $Task 02 nel processo con ID Job-000001.

Esempio 5: Aggiungere un'attività con i file di output

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

Esempio 6: Aggiungere un'attività con le impostazioni del token di autenticazione

$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

Esempio 7: Aggiungere un'attività eseguita in un contenitore

$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

Parametri

-AffinityInformation

Specifica un hint di località usato dal servizio Batch per selezionare un nodo in cui eseguire l'attività.

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

Impostazioni per un token di autenticazione che l'attività può usare per eseguire operazioni del servizio Batch. Se questa opzione è impostata, il servizio Batch fornisce all'attività un token di autenticazione che può essere usato per autenticare le operazioni del servizio Batch senza richiedere una chiave di accesso all'account. Il token viene fornito tramite la variabile di ambiente AZ_BATCH_AUTHENTICATION_TOKEN. Le operazioni che l'attività può eseguire usando il token dipendono dalle impostazioni. Ad esempio, un'attività può richiedere autorizzazioni per il processo per aggiungere altre attività al processo o controllare lo stato del processo o di altre attività.

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

-BatchContext

Specifica l'istanza batchAccountContext usata da questo cmdlet per interagire con il servizio Batch. Se si usa il cmdlet Get-AzBatchAccount per ottenere BatchAccountContext, l'autenticazione di Microsoft Entra verrà usata durante l'interazione con il servizio Batch. Per usare invece l'autenticazione con chiave condivisa, usare il cmdlet Get-AzBatchAccountKey per ottenere un oggetto BatchAccountContext con le relative chiavi di accesso popolate. Quando si usa l'autenticazione con chiave condivisa, la chiave di accesso primaria viene usata per impostazione predefinita. Per modificare la chiave da usare, impostare la proprietà BatchAccountContext.KeyInUse.

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

-CommandLine

Specifica la riga di comando per l'attività.

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

-Constraints

Specifica i vincoli di esecuzione che si applicano a questa attività.

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

-ContainerSettings

Impostazioni per il contenitore in cui viene eseguita l'attività. Se il pool che eseguirà questa attività include containerConfiguration impostato, è necessario impostarlo anche. Se il pool che eseguirà questa attività non include containerConfiguration impostato, non deve essere impostato. Quando si specifica questa opzione, tutte le directory vengono mappate in modo ricorsivo al di sotto del AZ_BATCH_NODE_ROOT_DIR (la radice delle directory di Azure Batch nel nodo) nel contenitore, tutte le variabili di ambiente delle attività vengono mappate nel contenitore e la riga di comando dell'attività viene eseguita nel contenitore.

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

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

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

-DependsOn

Specifica che l'attività dipende da altre attività. L'attività non verrà pianificata fino al completamento di tutte le attività dipendenti.

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

-DisplayName

Specifica il nome visualizzato dell'attività.

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

-EnvironmentSettings

Specifica le impostazioni di ambiente, come coppie chiave/valore, che questo cmdlet aggiunge all'attività. La chiave è il nome dell'impostazione dell'ambiente. Il valore è l'impostazione dell'ambiente.

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

Specifica l'ID dell'attività.

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

-Job

Specifica il processo in cui questo cmdlet crea l'attività. Per ottenere un oggetto PSCloudJob , usare il cmdlet Get-AzBatchJob.

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

-JobId

Specifica l'ID del processo in cui questo cmdlet crea l'attività.

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

-MultiInstanceSettings

Specifica informazioni su come eseguire un'attività a istanze multipla.

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

-OutputFile

Ottiene o imposta un elenco di file che il servizio Batch caricherà dal nodo di calcolo dopo l'esecuzione della riga di comando. Per le attività a istanze multiple, i file verranno caricati solo dal nodo di calcolo in cui viene eseguita l'attività primaria.

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

-ResourceFiles

Specifica i file di risorse, come coppie chiave/valore, necessarie per l'attività. La chiave è il percorso del file di risorse. Il valore è l'origine BLOB del file di risorse.

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

-Tasks

Specifica la raccolta di attività da aggiungere. Ogni attività deve avere un ID univoco.

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

-UserIdentity

Identità utente con cui viene eseguita l'attività.

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

Input

PSCloudJob

BatchAccountContext

Output

Void