New-AzBatchTask

Crea una tarea de Batch en un trabajo.

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

El cmdlet New-AzBatchTask crea una tarea de Azure Batch en el trabajo especificado por el parámetro JobId o el parámetro Job .

Ejemplos

Ejemplo 1: Crear una tarea de Batch

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

Este comando crea una tarea que tiene el identificador Task23 en el trabajo que tiene el id. Job-000001. La tarea ejecuta el comando especificado. Use el cmdlet Get-AzBatchAccountKey para asignar un contexto a la variable $Context.

Ejemplo 2: Crear una tarea de 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

Este comando obtiene el trabajo de Batch que tiene el identificador Job-000001 mediante el cmdlet Get-AzBatchJob . El comando pasa ese trabajo al cmdlet actual mediante el operador de canalización. El comando crea una tarea que tiene el identificador Task26 en ese trabajo. La tarea ejecuta el comando especificado mediante permisos elevados.

Ejemplo 3: Adición de una colección de tareas al trabajo especificado mediante la canalización

$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

El primer comando crea una referencia de objeto a las claves de cuenta de la cuenta por lotes denominada ContosoBatchAccount mediante Get-AzBatchAccountKey. El comando almacena esta referencia de objeto en la variable $Context. Los dos comandos siguientes crean objetos PSCloudTask mediante el cmdlet New-Object. Los comandos almacenan las tareas en las variables $Task 01 y $Task 02. El comando final obtiene el trabajo de Batch que tiene el identificador Job-000001 mediante Get-AzBatchJob. A continuación, el comando pasa ese trabajo al cmdlet actual mediante el operador de canalización. El comando agrega una colección de tareas en ese trabajo. El comando usa el contexto almacenado en $Context.

Ejemplo 4: Agregar una colección de tareas al trabajo 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

El primer comando crea una referencia de objeto a las claves de cuenta de la cuenta por lotes denominada ContosoBatchAccount mediante Get-AzBatchAccountKey. El comando almacena esta referencia de objeto en la variable $Context. Los dos comandos siguientes crean objetos PSCloudTask mediante el cmdlet New-Object. Los comandos almacenan las tareas en las variables $Task 01 y $Task 02. El comando final agrega las tareas almacenadas en $Task 01 y $Task 02 en el trabajo que tiene el identificador Job-000001.

Ejemplo 5: Agregar una tarea con archivos de salida

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

Ejemplo 6: Agregar una tarea con la configuración del token de autenticación

$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

Ejemplo 7: Agregar una tarea que se ejecuta en un contenedor

$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 una sugerencia de localidad que el servicio Batch usa para seleccionar un nodo en el que ejecutar la tarea.

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

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones del servicio Batch. Si se establece, el servicio Batch proporciona la tarea con un token de autenticación que se puede usar para autenticar las operaciones del servicio Batch sin necesidad de una clave de acceso de cuenta. El token se proporciona a través de la variable de entorno AZ_BATCH_AUTHENTICATION_TOKEN. Las operaciones que la tarea puede llevar a cabo mediante el token dependen de la configuración. Por ejemplo, una tarea puede solicitar permisos de trabajo para agregar otras tareas al trabajo o comprobar el estado del trabajo o de otras tareas.

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

-BatchContext

Especifica la instancia de BatchAccountContext que usa este cmdlet para interactuar con el servicio Batch. Si usa el cmdlet Get-AzBatchAccount para obtener batchAccountContext, se usará la autenticación de Microsoft Entra al interactuar con el servicio Batch. Para usar la autenticación de clave compartida en su lugar, use el cmdlet Get-AzBatchAccountKey para obtener un objeto BatchAccountContext con sus claves de acceso rellenadas. Al usar la autenticación de clave compartida, la clave de acceso principal se usa de forma predeterminada. Para cambiar la clave que se va a usar, establezca la propiedad BatchAccountContext.KeyInUse.

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

-CommandLine

Especifica la línea de comandos de la tarea.

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

-Constraints

Especifica las restricciones de ejecución que se aplican a esta tarea.

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

-ContainerSettings

Configuración del contenedor en el que se ejecuta la tarea. Si el grupo que ejecutará esta tarea tiene el conjunto containerConfiguration, también debe establecerse. Si el grupo que ejecutará esta tarea no tiene establecido containerConfiguration, no se debe establecer. Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor.

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

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con 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 la tarea depende de otras tareas. La tarea no se programará hasta que todas las tareas dependientes se hayan completado correctamente.

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

-DisplayName

Especifica el nombre para mostrar de la tarea.

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

-EnvironmentSettings

Especifica la configuración del entorno, como pares clave-valor, que este cmdlet agrega a la tarea. La clave es el nombre de configuración del entorno. El valor es la configuración del entorno.

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 el identificador de la tarea.

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

-Job

Especifica el trabajo en el que este cmdlet crea la tarea. Para obtener un objeto PSCloudJob , use el cmdlet Get-AzBatchJob.

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

-JobId

Especifica el identificador del trabajo en el que este cmdlet crea la tarea.

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

-MultiInstanceSettings

Especifica información sobre cómo ejecutar una tarea de varias instancias.

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

-OutputFile

Obtiene o establece una lista de archivos que el servicio Batch cargará desde el nodo de proceso después de ejecutar la línea de comandos. En el caso de las tareas de varias instancias, los archivos solo se cargarán desde el nodo de proceso en el que se ejecuta la tarea principal.

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

-ResourceFiles

Especifica los archivos de recursos, como pares clave-valor, que requiere la tarea. La clave es la ruta de acceso del archivo de recursos. El valor es el origen del blob del archivo de recursos.

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

-Tasks

Especifica la colección de tareas que se van a agregar. Cada tarea debe tener un identificador único.

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

-UserIdentity

Identidad de usuario en la que se ejecuta la tarea.

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

Entradas

PSCloudJob

BatchAccountContext

Salidas

Void