New-AzBatchTask
Crea una tarea de Batch en un trabajo.
Sintaxis
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
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
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.
Tipo: | PSAffinityInformation |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ApplicationPackageReferences
Tipo: | PSApplicationPackageReference[] |
Alias: | ApplicationPackageReference |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSAuthenticationTokenSettings |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | BatchAccountContext |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-CommandLine
Especifica la línea de comandos de la tarea.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Constraints
Especifica las restricciones de ejecución que se aplican a esta tarea.
Tipo: | PSTaskConstraints |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSTaskContainerSettings |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | TaskDependencies |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DisplayName
Especifica el nombre para mostrar de la tarea.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | IDictionary |
Alias: | EnvironmentSetting |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ExitConditions
Tipo: | PSExitConditions |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Id
Especifica el identificador de la tarea.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Job
Especifica el trabajo en el que este cmdlet crea la tarea. Para obtener un objeto de PSCloudJob, use el cmdlet Get-AzBatchJob.
Tipo: | PSCloudJob |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-JobId
Especifica el identificador del trabajo en el que este cmdlet crea la tarea.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-MultiInstanceSettings
Especifica información sobre cómo ejecutar una tarea de varias instancias.
Tipo: | PSMultiInstanceSettings |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSOutputFile[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSResourceFile[] |
Alias: | ResourceFile |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Tasks
Especifica la colección de tareas que se van a agregar. Cada tarea debe tener un identificador único.
Tipo: | PSCloudTask[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UserIdentity
Identidad de usuario en la que se ejecuta la tarea.
Tipo: | PSUserIdentity |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |