Condividi tramite


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à.

Tipo:PSAffinityInformation
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ApplicationPackageReferences

Tipo:PSApplicationPackageReference[]
Alias:ApplicationPackageReference
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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à.

Tipo:PSAuthenticationTokenSettings
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:BatchAccountContext
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-CommandLine

Specifica la riga di comando per l'attività.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Constraints

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

Tipo:PSTaskConstraints
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:PSTaskContainerSettings
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DependsOn

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

Tipo:TaskDependencies
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisplayName

Specifica il nome visualizzato dell'attività.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:IDictionary
Alias:EnvironmentSetting
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ExitConditions

Tipo:PSExitConditions
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

Specifica l'ID dell'attività.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Job

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

Tipo:PSCloudJob
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-JobId

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MultiInstanceSettings

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

Tipo:PSMultiInstanceSettings
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:PSOutputFile[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:PSResourceFile[]
Alias:ResourceFile
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Tasks

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

Tipo:PSCloudTask[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UserIdentity

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

Tipo:PSUserIdentity
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSCloudJob

BatchAccountContext

Output

Void