Partager via


New-AzBatchTask

Crée une tâche Batch sous un travail.

Syntaxe

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

L’applet de commande New-AzBatchTask crée une tâche Azure Batch sous le travail spécifié par le paramètre JobId ou le paramètre Job.

Exemples

Exemple 1 : Créer une tâche Batch

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

Cette commande crée une tâche qui a l’ID Task23 sous le travail qui a l’ID Job-000001. La tâche exécute la commande spécifiée. Utilisez l’applet de commande Get-AzBatchAccountKey pour affecter un contexte à la variable $Context.

Exemple 2 : Créer une tâche 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

Cette commande obtient le travail Batch qui a l’ID Job-000001 à l’aide de l’applet de commande Get-AzBatchJob . La commande transmet ce travail à l’applet de commande actuelle à l’aide de l’opérateur de pipeline. La commande crée une tâche qui possède la tâche ID 26 sous ce travail. La tâche exécute la commande spécifiée à l’aide d’autorisations élevées.

Exemple 3 : Ajouter une collection de tâches au travail spécifié à l’aide du 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

La première commande crée une référence d’objet aux clés de compte pour le compte batch nommé ContosoBatchAccount à l’aide de Get-AzBatchAccountKey. La commande stocke cette référence d’objet dans la variable $Context. Les deux commandes suivantes créent des objets PSCloudTask à l’aide de l’applet de commande New-Object. Les commandes stockent les tâches dans les variables $Task 01 et $Task 02. La commande finale obtient le travail Batch qui a l’ID Job-000001 à l’aide de Get-AzBatchJob. Ensuite, la commande transmet ce travail à l’applet de commande actuelle à l’aide de l’opérateur de pipeline. La commande ajoute une collection de tâches sous ce travail. La commande utilise le contexte stocké dans $Context.

Exemple 4 : Ajouter une collection de tâches au travail spécifié

$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

La première commande crée une référence d’objet aux clés de compte pour le compte batch nommé ContosoBatchAccount à l’aide de Get-AzBatchAccountKey. La commande stocke cette référence d’objet dans la variable $Context. Les deux commandes suivantes créent des objets PSCloudTask à l’aide de l’applet de commande New-Object. Les commandes stockent les tâches dans les variables $Task 01 et $Task 02. La commande finale ajoute les tâches stockées dans $Task 01 et $Task 02 sous le travail qui a l’ID Job-000001.

Exemple 5 : Ajouter une tâche avec des fichiers de sortie

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

Exemple 6 : Ajouter une tâche avec des paramètres de jeton d’authentification

$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

Exemple 7 : Ajouter une tâche qui s’exécute dans un conteneur

$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

Paramètres

-AffinityInformation

Spécifie un indicateur de localité que le service Batch utilise pour sélectionner un nœud sur lequel exécuter la tâche.

Type:PSAffinityInformation
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ApplicationPackageReferences

Type:PSApplicationPackageReference[]
Alias:ApplicationPackageReference
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AuthenticationTokenSettings

Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch. S’il est défini, le service Batch fournit la tâche avec un jeton d’authentification qui peut être utilisé pour authentifier les opérations de service Batch sans nécessiter de clé d’accès de compte. Le jeton est fourni via la variable d’environnement AZ_BATCH_AUTHENTICATION_TOKEN. Les opérations que la tâche peut effectuer à l’aide du jeton dépendent des paramètres. Par exemple, une tâche peut demander des autorisations de travail pour ajouter d’autres tâches au travail, ou vérifier l’état du travail ou d’autres tâches.

Type:PSAuthenticationTokenSettings
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-BatchContext

Spécifie l’instance BatchAccountContext utilisée par cette applet de commande pour interagir avec le service Batch. Si vous utilisez l’applet de commande Get-AzBatchAccount pour obtenir votre BatchAccountContext, l’authentification Microsoft Entra sera utilisée lors de l’interaction avec le service Batch. Pour utiliser l’authentification par clé partagée à la place, utilisez l’applet de commande Get-AzBatchAccountKey pour obtenir un objet BatchAccountContext avec ses clés d’accès remplies. Lorsque vous utilisez l’authentification par clé partagée, la clé d’accès primaire est utilisée par défaut. Pour modifier la clé à utiliser, définissez la propriété BatchAccountContext.KeyInUse.

Type:BatchAccountContext
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-CommandLine

Spécifie la ligne de commande de la tâche.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Constraints

Spécifie les contraintes d’exécution qui s’appliquent à cette tâche.

Type:PSTaskConstraints
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ContainerSettings

Paramètres du conteneur sous lequel la tâche s’exécute. Si le pool qui exécutera cette tâche a un jeu containerConfiguration, celui-ci doit également être défini. Si le pool qui exécutera cette tâche n’a pas de conteneurConfiguration défini, il ne doit pas être défini. Lorsque cela est spécifié, tous les répertoires sont récursifs sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de tâche est exécutée dans le conteneur.

Type:PSTaskContainerSettings
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Type:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DependsOn

Spécifie que la tâche dépend d’autres tâches. La tâche ne sera pas planifiée tant que toutes les tâches dépendantes n’auront pas abouti.

Type:TaskDependencies
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisplayName

Spécifie le nom complet de la tâche.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-EnvironmentSettings

Spécifie les paramètres d’environnement, en tant que paires clé/valeur, que cette applet de commande ajoute à la tâche. La clé est le nom du paramètre d’environnement. La valeur est le paramètre d’environnement.

Type:IDictionary
Alias:EnvironmentSetting
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ExitConditions

Type:PSExitConditions
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Id

Spécifie l’ID de la tâche.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Job

Spécifie le travail sous lequel cette applet de commande crée la tâche. Pour obtenir un objet PSCloudJob , utilisez l’applet de commande Get-AzBatchJob.

Type:PSCloudJob
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-JobId

Spécifie l’ID du travail sous lequel cette applet de commande crée la tâche.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MultiInstanceSettings

Spécifie des informations sur l’exécution d’une tâche multi-instance.

Type:PSMultiInstanceSettings
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OutputFile

Obtient ou définit une liste de fichiers que le service Batch charge à partir du nœud de calcul après avoir exécuté la ligne de commande. Pour les tâches multi-instances, les fichiers seront chargés uniquement à partir du nœud de calcul sur lequel la tâche principale est exécutée.

Type:PSOutputFile[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ResourceFiles

Spécifie les fichiers de ressources, en tant que paires clé/valeur, dont la tâche a besoin. La clé est le chemin du fichier de ressources. La valeur est la source de l’objet blob de fichiers de ressources.

Type:PSResourceFile[]
Alias:ResourceFile
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Tasks

Spécifie la collection de tâches à ajouter. Chaque tâche doit avoir un ID unique.

Type:PSCloudTask[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-UserIdentity

Identité de l’utilisateur sous laquelle la tâche s’exécute.

Type:PSUserIdentity
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

PSCloudJob

BatchAccountContext

Sorties

Void