Share via


New-AzBatchTask

Cria uma tarefa em lote em um trabalho.

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

O cmdlet New-AzBatchTask cria uma tarefa Batch do Azure sob o trabalho especificado pelo parâmetro JobId ou pelo parâmetro Job .

Exemplos

Exemplo 1: Criar uma tarefa em lote

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

Este comando cria uma tarefa que tem a ID Task23 sob o trabalho que tem a ID Job-000001. A tarefa executa o comando especificado. Use o cmdlet Get-AzBatchAccountKey para atribuir um contexto à variável $Context.

Exemplo 2: Criar uma tarefa em lote

$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

Este comando obtém o trabalho em lote que tem a ID Job-000001 usando o cmdlet Get-AzBatchJob . O comando passa esse trabalho para o cmdlet atual usando o operador de pipeline. O comando cria uma tarefa que tem a ID Task26 sob esse trabalho. A tarefa executa o comando especificado usando permissões elevadas.

Exemplo 3: Adicionar uma coleção de tarefas ao trabalho especificado usando o 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

O primeiro comando cria uma referência de objeto às chaves de conta para a conta em lote chamada ContosoBatchAccount usando Get-AzBatchAccountKey. O comando armazena essa referência de objeto na variável $Context. Os próximos dois comandos criam objetos PSCloudTask usando o cmdlet New-Object. Os comandos armazenam as tarefas nas variáveis $Task 01 e $Task 02. O comando final obtém o trabalho em lote que tem a ID Job-000001 usando Get-AzBatchJob. Em seguida, o comando passa esse trabalho para o cmdlet atual usando o operador de pipeline. O comando adiciona uma coleção de tarefas sob esse trabalho. O comando usa o contexto armazenado em $Context.

Exemplo 4: Adicionar uma coleção de tarefas ao trabalho especificado

$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

O primeiro comando cria uma referência de objeto às chaves de conta para a conta em lote chamada ContosoBatchAccount usando Get-AzBatchAccountKey. O comando armazena essa referência de objeto na variável $Context. Os próximos dois comandos criam objetos PSCloudTask usando o cmdlet New-Object. Os comandos armazenam as tarefas nas variáveis $Task 01 e $Task 02. O comando final adiciona as tarefas armazenadas em $Task 01 e $Task 02 sob o trabalho que tem o ID Job-000001.

Exemplo 5: Adicionar uma tarefa com arquivos de saída

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

Exemplo 6: Adicionar uma tarefa com configurações de token de autenticação

$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

Exemplo 7: Adicionar uma tarefa que é executada em um contêiner

$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

Parâmetros

-AffinityInformation

Especifica uma dica de localidade que o serviço Batch usa para selecionar um nó no qual executar a tarefa.

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

As configurações de um token de autenticação que a tarefa pode usar para executar operações de serviço em lote. Se isso for definido, o serviço de lote fornece à tarefa um token de autenticação que pode ser usado para autenticar operações de serviço em lote sem exigir uma chave de acesso de conta. O token é fornecido através da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a tarefa pode realizar usando o token dependem das configurações. Por exemplo, uma tarefa pode solicitar permissões de trabalho para adicionar outras tarefas ao trabalho ou verificar o status do trabalho ou de outras tarefas.

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

-BatchContext

Especifica a instância BatchAccountContext que esse cmdlet usa para interagir com o serviço Batch. Se você usar o cmdlet Get-AzBatchAccount para obter seu BatchAccountContext, a autenticação do Microsoft Entra será usada ao interagir com o serviço Batch. Para usar a autenticação de chave compartilhada, use o cmdlet Get-AzBatchAccountKey para obter um objeto BatchAccountContext com suas chaves de acesso preenchidas. Ao usar a autenticação de chave compartilhada, a chave de acesso primária é usada por padrão. Para alterar a chave a ser usada, defina a propriedade BatchAccountContext.KeyInUse.

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

-CommandLine

Especifica a linha de comando para a tarefa.

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

-Constraints

Especifica as restrições de execução que se aplicam a esta tarefa.

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

-ContainerSettings

As configurações do contêiner sob o qual a tarefa é executada. Se o pool que executará essa tarefa tiver containerConfiguration definido, isso também deverá ser definido. Se o pool que executará essa tarefa não tiver containerConfiguration definido, isso não deverá ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios do Lote do Azure no nó) são mapeados no contêiner, todas as variáveis de ambiente de tarefa são mapeadas no contêiner e a linha de comando da tarefa é executada no contêiner.

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

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o azure.

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

-DependsOn

Especifica que a tarefa depende de outras tarefas. A tarefa não será agendada até que todas as tarefas dependentes tenham sido concluídas com êxito.

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

-DisplayName

Especifica o nome para exibição da tarefa.

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

-EnvironmentSettings

Especifica as configurações de ambiente, como pares chave/valor, que esse cmdlet adiciona à tarefa. A chave é o nome da configuração do ambiente. O valor é a configuração do 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

Especifica a ID da tarefa.

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

-Job

Especifica o trabalho sob o qual esse cmdlet cria a tarefa. Para obter um objeto PSCloudJob , use o cmdlet Get-AzBatchJob.

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

-JobId

Especifica a ID do trabalho sob o qual esse cmdlet cria a tarefa.

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

-MultiInstanceSettings

Especifica informações sobre como executar uma tarefa de várias instâncias.

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

-OutputFile

Obtém ou define uma lista de arquivos que o serviço Batch carregará do nó de computação depois de executar a linha de comando. Para tarefas de várias instâncias, os arquivos só serão carregados a partir do nó de computação no qual a tarefa principal é executada.

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

-ResourceFiles

Especifica os arquivos de recursos, como pares chave/valor, que a tarefa exige. A chave é o caminho do arquivo de recurso. O valor é a origem do blob do arquivo de recurso.

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

-Tasks

Especifica a coleção de tarefas a serem adicionadas. Cada tarefa deve ter um ID exclusivo.

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

-UserIdentity

A identidade do usuário sob a qual a tarefa é executada.

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

Entradas

PSCloudJob

BatchAccountContext

Saídas

Void