Partager via


TaskAddParameter interface

Batch réessaye les tâches lorsqu’une opération de récupération est déclenchée sur un nœud. Les exemples d’opérations de récupération incluent (mais ne sont pas limités) lorsqu’un nœud non sain est redémarré ou qu’un nœud de calcul a disparu en raison d’une défaillance de l’hôte. Les nouvelles tentatives en raison d’opérations de récupération sont indépendantes et ne sont pas comptabilisées par rapport au maxTaskRetryCount. Même si maxTaskRetryCount est 0, une nouvelle tentative interne en raison d’une opération de récupération peut se produire. En raison de cela, toutes les tâches doivent être idempotentes. Cela signifie que les tâches doivent tolérer l’interruption et le redémarrage sans provoquer d’altération ou de doublon des données. La meilleure pratique pour les tâches longues consiste à utiliser une forme de point de contrôle.

Propriétés

affinityInfo

Indicateur de localité qui peut être utilisé par le service Batch pour sélectionner un nœud de calcul sur lequel démarrer la nouvelle tâche.

applicationPackageReferences

Liste des packages que le service Batch déploie sur le nœud de calcul avant d’exécuter la ligne de commande. Les packages d’application sont téléchargés et déployés dans un répertoire partagé, et non dans le répertoire de travail des tâches. Par conséquent, si un package référencé est déjà sur le nœud et qu’il est à jour, il n’est pas redéployé ; la copie existante sur le nœud de calcul est utilisée. Si un package référencé ne peut pas être installé, par exemple parce que le package a été supprimé ou parce que le téléchargement a échoué, la tâche échoue.

authenticationTokenSettings

Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch. Si cette propriété est définie, le service Batch fournit à la tâche un jeton d’authentification qui peut être utilisé pour authentifier les opérations de service Batch sans nécessiter de clé d’accès au 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 sous le travail.

commandLine

Ligne de commande de la tâche. Pour les tâches multi-instances, la ligne de commande est exécutée en tant que tâche principale, une fois que la tâche principale et toutes les tâches subordonnées ont terminé d’exécuter la ligne de commande de coordination. La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’extension de variable d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Si la ligne de commande fait référence à des chemins de fichier, elle doit utiliser un chemin relatif (par rapport au répertoire de travail de tâche) ou utiliser la variable d’environnement fournie par Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

constraints

Contraintes d’exécution qui s’appliquent à cette tâche. Si vous ne spécifiez pas de contraintes, maxTaskRetryCount est le maxTaskRetryCount spécifié pour le travail, le maxWallClockTime est infini et le temps de rétention est de 7 jours.

containerSettings

Paramètres du conteneur sous lequel la tâche s’exécute. Si le pool qui exécutera cette tâche a un conteneurConfiguration défini, il 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 le 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 au conteneur et la ligne de commande Task est exécutée dans le conteneur. Les fichiers produits dans le conteneur en dehors de AZ_BATCH_NODE_ROOT_DIR peuvent ne pas être répercutés sur le disque hôte, ce qui signifie que les API de fichier Batch ne pourront pas accéder à ces fichiers.

dependsOn

Tâches dont dépend cette tâche. Cette tâche ne sera pas planifiée tant que toutes les tâches dont elle dépend de l’exécution réussie ne seront pas planifiées. Si l’une de ces tâches échoue et épuise leur nombre de nouvelles tentatives, cette tâche ne sera jamais planifiée. Si le travail n’a pas utiliseTaskDependencies défini sur true et que cet élément est présent, la requête échoue avec le code d’erreur TaskDependenciesNotSpecifiedOnJob.

displayName

Nom complet de la tâche. Le nom complet n’a pas besoin d’être unique et peut contenir des caractères Unicode pouvant atteindre une longueur maximale de 1024.

environmentSettings

Liste des paramètres de variable d’environnement pour la tâche.

exitConditions

Comment le service Batch doit répondre à la fin de la tâche.

id

Chaîne qui identifie de façon unique la tâche dans le travail. L’ID peut contenir n’importe quelle combinaison de caractères alphanumériques, y compris des traits d’union et des traits de soulignement, et ne peut pas contenir plus de 64 caractères. L’ID est respectant la casse et ne respecte pas la casse (autrement dit, vous n’avez peut-être pas deux ID dans un travail qui diffèrent uniquement par cas).

multiInstanceSettings

Objet qui indique que la tâche est une tâche multi-instance et contient des informations sur l’exécution de la tâche multi-instance.

outputFiles

Liste des 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 sont chargés uniquement à partir du nœud de calcul sur lequel la tâche principale est exécutée.

requiredSlots

Nombre d’emplacements de planification nécessaires à l’exécution de la tâche. La valeur par défaut est 1. Une tâche peut uniquement être planifiée pour s’exécuter sur un nœud de calcul si le nœud dispose de suffisamment d’emplacements de planification gratuits disponibles. Pour les tâches multi-instances, il doit s’agir de 1.

resourceFiles

Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. Pour les tâches multi-instances, les fichiers de ressources sont téléchargés uniquement sur le nœud de calcul sur lequel la tâche principale est exécutée. Il existe une taille maximale pour la liste des fichiers de ressources. Lorsque la taille maximale est dépassée, la requête échoue et le code d’erreur de réponse est RequestEntityTooLarge. Si cela se produit, la collection de ResourceFiles doit être réduite en taille. Pour ce faire, vous pouvez utiliser des fichiers .zip, des packages d’application ou des conteneurs Docker.

userIdentity

Identité de l’utilisateur sous laquelle la tâche s’exécute. Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.

Détails de la propriété

affinityInfo

Indicateur de localité qui peut être utilisé par le service Batch pour sélectionner un nœud de calcul sur lequel démarrer la nouvelle tâche.

affinityInfo?: AffinityInformation

Valeur de propriété

applicationPackageReferences

Liste des packages que le service Batch déploie sur le nœud de calcul avant d’exécuter la ligne de commande. Les packages d’application sont téléchargés et déployés dans un répertoire partagé, et non dans le répertoire de travail des tâches. Par conséquent, si un package référencé est déjà sur le nœud et qu’il est à jour, il n’est pas redéployé ; la copie existante sur le nœud de calcul est utilisée. Si un package référencé ne peut pas être installé, par exemple parce que le package a été supprimé ou parce que le téléchargement a échoué, la tâche échoue.

applicationPackageReferences?: ApplicationPackageReference[]

Valeur de propriété

authenticationTokenSettings

Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch. Si cette propriété est définie, le service Batch fournit à la tâche un jeton d’authentification qui peut être utilisé pour authentifier les opérations de service Batch sans nécessiter de clé d’accès au 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 sous le travail.

authenticationTokenSettings?: AuthenticationTokenSettings

Valeur de propriété

commandLine

Ligne de commande de la tâche. Pour les tâches multi-instances, la ligne de commande est exécutée en tant que tâche principale, une fois que la tâche principale et toutes les tâches subordonnées ont terminé d’exécuter la ligne de commande de coordination. La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’extension de variable d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Si la ligne de commande fait référence à des chemins de fichier, elle doit utiliser un chemin relatif (par rapport au répertoire de travail de tâche) ou utiliser la variable d’environnement fournie par Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Valeur de propriété

string

constraints

Contraintes d’exécution qui s’appliquent à cette tâche. Si vous ne spécifiez pas de contraintes, maxTaskRetryCount est le maxTaskRetryCount spécifié pour le travail, le maxWallClockTime est infini et le temps de rétention est de 7 jours.

constraints?: TaskConstraints

Valeur de propriété

containerSettings

Paramètres du conteneur sous lequel la tâche s’exécute. Si le pool qui exécutera cette tâche a un conteneurConfiguration défini, il 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 le 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 au conteneur et la ligne de commande Task est exécutée dans le conteneur. Les fichiers produits dans le conteneur en dehors de AZ_BATCH_NODE_ROOT_DIR peuvent ne pas être répercutés sur le disque hôte, ce qui signifie que les API de fichier Batch ne pourront pas accéder à ces fichiers.

containerSettings?: TaskContainerSettings

Valeur de propriété

dependsOn

Tâches dont dépend cette tâche. Cette tâche ne sera pas planifiée tant que toutes les tâches dont elle dépend de l’exécution réussie ne seront pas planifiées. Si l’une de ces tâches échoue et épuise leur nombre de nouvelles tentatives, cette tâche ne sera jamais planifiée. Si le travail n’a pas utiliseTaskDependencies défini sur true et que cet élément est présent, la requête échoue avec le code d’erreur TaskDependenciesNotSpecifiedOnJob.

dependsOn?: TaskDependencies

Valeur de propriété

displayName

Nom complet de la tâche. Le nom complet n’a pas besoin d’être unique et peut contenir des caractères Unicode pouvant atteindre une longueur maximale de 1024.

displayName?: string

Valeur de propriété

string

environmentSettings

Liste des paramètres de variable d’environnement pour la tâche.

environmentSettings?: EnvironmentSetting[]

Valeur de propriété

exitConditions

Comment le service Batch doit répondre à la fin de la tâche.

exitConditions?: ExitConditions

Valeur de propriété

id

Chaîne qui identifie de façon unique la tâche dans le travail. L’ID peut contenir n’importe quelle combinaison de caractères alphanumériques, y compris des traits d’union et des traits de soulignement, et ne peut pas contenir plus de 64 caractères. L’ID est respectant la casse et ne respecte pas la casse (autrement dit, vous n’avez peut-être pas deux ID dans un travail qui diffèrent uniquement par cas).

id: string

Valeur de propriété

string

multiInstanceSettings

Objet qui indique que la tâche est une tâche multi-instance et contient des informations sur l’exécution de la tâche multi-instance.

multiInstanceSettings?: MultiInstanceSettings

Valeur de propriété

outputFiles

Liste des 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 sont chargés uniquement à partir du nœud de calcul sur lequel la tâche principale est exécutée.

outputFiles?: OutputFile[]

Valeur de propriété

requiredSlots

Nombre d’emplacements de planification nécessaires à l’exécution de la tâche. La valeur par défaut est 1. Une tâche peut uniquement être planifiée pour s’exécuter sur un nœud de calcul si le nœud dispose de suffisamment d’emplacements de planification gratuits disponibles. Pour les tâches multi-instances, il doit s’agir de 1.

requiredSlots?: number

Valeur de propriété

number

resourceFiles

Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. Pour les tâches multi-instances, les fichiers de ressources sont téléchargés uniquement sur le nœud de calcul sur lequel la tâche principale est exécutée. Il existe une taille maximale pour la liste des fichiers de ressources. Lorsque la taille maximale est dépassée, la requête échoue et le code d’erreur de réponse est RequestEntityTooLarge. Si cela se produit, la collection de ResourceFiles doit être réduite en taille. Pour ce faire, vous pouvez utiliser des fichiers .zip, des packages d’application ou des conteneurs Docker.

resourceFiles?: ResourceFile[]

Valeur de propriété

userIdentity

Identité de l’utilisateur sous laquelle la tâche s’exécute. Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.

userIdentity?: UserIdentity

Valeur de propriété