Partager via


Task - Add

Ajoute une tâche au travail spécifié.
La durée de vie maximale d’une tâche d’ajout à la fin est de 180 jours. Si une tâche n’est pas terminée dans les 180 jours suivant l’ajout, elle est arrêtée par le service Batch et reste dans l’état dans lequel elle se trouvait à ce moment-là.

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0

Paramètres URI

Nom Dans Obligatoire Type Description
batchUrl
path True

string

URL de base pour toutes les demandes de service Azure Batch.

jobId
path True

string

ID du travail auquel la tâche doit être ajoutée.

api-version
query True

string

Version de l’API cliente.

timeout
query

integer

int32

Durée maximale pendant laquelle le serveur peut passer le traitement de la requête, en secondes. La valeur par défaut est de 30 secondes. Si la valeur est supérieure à 30, la valeur par défaut est utilisée à la place.

En-tête de la demande

Media Types: "application/json; odata=minimalmetadata"

Nom Obligatoire Type Description
client-request-id

string

uuid

L’identité de requête générée par l’appelant, sous la forme d’un GUID sans décoration telle que les accolades, par exemple 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Indique si le serveur doit retourner l’ID client-request-id dans la réponse.

ocp-date

string

date-time-rfc1123

Heure à laquelle la demande a été émise. Les bibliothèques clientes définissent généralement cette valeur sur l’heure de l’horloge système actuelle ; définissez-le explicitement si vous appelez directement l’API REST.

Corps de la demande

Media Types: "application/json; odata=minimalmetadata"

Nom Obligatoire Type Description
commandLine True

string

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/azure/batch/batch-compute-node-environment-variables).

id True

string

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).

affinityInfo

AffinityInformation

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

ApplicationPackageReference[]

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

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.

constraints

TaskConstraints

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

TaskContainerSettings

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

TaskDependencies

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

string

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

EnvironmentSetting[]

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

exitConditions

ExitConditions

Spécifie la façon dont le service Batch doit répondre à la fin de la tâche.
Comment le service Batch doit répondre à la fin de la tâche.

multiInstanceSettings

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.
Les tâches multi-instances sont couramment utilisées pour prendre en charge les tâches MPI. Dans le cas MPI, si l’une des tâches subordonnées échoue (par exemple en raison de la sortie avec un code de sortie non nul), la tâche multi-instance entière échoue. La tâche multi-instance est ensuite arrêtée et retentée, jusqu’à sa limite de nouvelles tentatives.

outputFiles

OutputFile[]

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

integer

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

ResourceFile[]

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

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.

Réponses

Nom Type Description
201 Created

La demande adressée au service Batch a réussi.

En-têtes

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: string
Other Status Codes

BatchError

Erreur du service Batch.

Sécurité

azure_auth

Flux de code d’authentification Microsoft Entra OAuth 2.0

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
user_impersonation Emprunter l’identité de votre compte d’utilisateur

Authorization

Type: apiKey
Dans: header

Exemples

Add a basic task
Add a container task with container data isolation
Add a container task with container data isolation bad request duplicate sources
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Exemple de réponse

Add a container task with container data isolation

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Exemple de réponse

Add a container task with container data isolation bad request duplicate sources

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Exemple de réponse

Add a task with container settings

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Exemple de réponse

Add a task with exit conditions

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Exemple de réponse

Add a task with extra slot requirement

Exemple de requête

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Exemple de réponse

Définitions

Nom Description
AccessScope

Ressources Batch auxquelles le jeton accorde l’accès.

AffinityInformation

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

ApplicationPackageReference

Référence à un package à déployer sur des nœuds de calcul.

AuthenticationTokenSettings

Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch.

AutoUserScope

Étendue de l’utilisateur automatique

AutoUserSpecification

Spécifie les paramètres de l’utilisateur automatique qui exécute une tâche sur le service Batch.

BatchError

Réponse d’erreur reçue du service Azure Batch.

BatchErrorDetail

Élément d’informations supplémentaires inclus dans une réponse d’erreur Azure Batch.

ComputeNodeIdentityReference

Référence à une identité affectée par l’utilisateur associée au pool Batch qu’un nœud de calcul utilisera.

ContainerHostBatchBindMountEntry

Entrée du chemin d’accès et du mode montage que vous souhaitez monter dans le conteneur de tâches.

ContainerHostDataPath

Chemins d’accès qui seront montés sur le conteneur de la tâche de conteneur.

ContainerRegistry

Registre de conteneurs privé.

ContainerWorkingDirectory

Emplacement du répertoire de travail de tâche de conteneur.

DependencyAction

Action effectuée par le service Batch sur les tâches qui dépendent de cette tâche.

ElevationLevel

Niveau d’élévation de l’utilisateur.

EnvironmentSetting

Variable d’environnement à définir sur un processus de tâche.

ErrorMessage

Message d’erreur reçu dans une réponse d’erreur Azure Batch.

ExitCodeMapping

Comment le service Batch doit répondre si une tâche se termine par un code de sortie particulier.

ExitCodeRangeMapping

Plage de codes de sortie et façon dont le service Batch doit répondre aux codes de sortie dans cette plage.

ExitConditions

Spécifie la façon dont le service Batch doit répondre à la fin de la tâche.

ExitOptions

Spécifie la façon dont le service Batch répond à une condition de sortie particulière.

HttpHeader

Paire nom-valeur d’en-tête HTTP

JobAction

Action à entreprendre sur le travail contenant la tâche, si la tâche se termine avec la condition de sortie donnée et que la propriété onTaskFailed du travail est « performExitOptionsJobAction ».

MultiInstanceSettings

Paramètres qui spécifient comment exécuter une tâche multi-instance.

OutputFile

Spécification permettant de charger des fichiers à partir d’un nœud de calcul Azure Batch vers un autre emplacement une fois que le service Batch a terminé d’exécuter le processus de tâche.

OutputFileBlobContainerDestination

Spécifie une destination de chargement de fichier dans un conteneur de stockage d’objets blob Azure.

OutputFileDestination

Destination vers laquelle un fichier doit être chargé.

OutputFileUploadCondition

Conditions dans lesquelles un fichier de sortie de tâche ou un ensemble de fichiers doit être chargé.

OutputFileUploadOptions

Détails sur une opération de chargement de fichier de sortie, y compris dans quelles conditions effectuer le chargement.

ResourceFile

Un seul fichier ou plusieurs fichiers à télécharger sur un nœud de calcul.

TaskAddParameter

Tâche Azure Batch à ajouter.

TaskConstraints

Contraintes d’exécution à appliquer à une tâche.

TaskContainerSettings

Paramètres de conteneur d’une tâche.

TaskDependencies

Spécifie toutes les dépendances d’une tâche. Toute tâche spécifiée explicitement ou dans une plage de dépendances doit être terminée avant que la tâche dépendante soit planifiée.

TaskIdRange

Plage d’ID de tâche dont dépend une tâche. Toutes les tâches avec ID de la plage doivent s’exécuter correctement avant que la tâche dépendante puisse être planifiée.

UserIdentity

Définition de l’identité de l’utilisateur sous laquelle la tâche est exécutée.

AccessScope

Ressources Batch auxquelles le jeton accorde l’accès.

Nom Type Description
job

string

Accorde l’accès pour effectuer toutes les opérations sur le travail contenant la tâche.

AffinityInformation

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

Nom Type Description
affinityId

string

Chaîne opaque représentant l’emplacement d’un nœud de calcul ou d’une tâche qui s’exécute précédemment.
Vous pouvez transmettre l’affinityId d’un nœud pour indiquer que cette tâche doit s’exécuter sur ce nœud de calcul. Notez qu’il s’agit simplement d’une affinité douce. Si le nœud de calcul cible est occupé ou indisponible au moment où la tâche est planifiée, la tâche est planifiée ailleurs.

ApplicationPackageReference

Référence à un package à déployer sur des nœuds de calcul.

Nom Type Description
applicationId

string

ID de l’application à déployer.
Lors de la création d’un pool, l’ID d’application du package doit être complet (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Version de l’application à déployer. En cas d’omission, la version par défaut est déployée.
Si cela est omis sur un pool et qu’aucune version par défaut n’est spécifiée pour cette application, la requête échoue avec le code d’erreur InvalidApplicationPackageReferences et le code d’état HTTP 409. Si cela est omis sur une tâche et qu’aucune version par défaut n’est spécifiée pour cette application, la tâche échoue avec une erreur de prétraitement.

AuthenticationTokenSettings

Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch.

Nom Type Description
access

AccessScope[]

Ressources Batch auxquelles le jeton accorde l’accès.
Le jeton d’authentification accorde l’accès à un ensemble limité d’opérations de service Batch. Actuellement, la seule valeur prise en charge pour la propriété d’accès est « job », ce qui accorde l’accès à toutes les opérations liées au travail qui contient la tâche.

AutoUserScope

Étendue de l’utilisateur automatique

Nom Type Description
pool

string

Spécifie que la tâche s’exécute en tant que compte d’utilisateur automatique commun créé sur chaque nœud de calcul d’un pool.

task

string

Spécifie que le service doit créer un utilisateur pour la tâche.

AutoUserSpecification

Spécifie les paramètres de l’utilisateur automatique qui exécute une tâche sur le service Batch.

Nom Type Description
elevationLevel

ElevationLevel

Niveau d’élévation de l’utilisateur automatique.
La valeur par défaut n’est pasAdmin.

scope

AutoUserScope

Étendue de l’utilisateur automatique
La valeur par défaut est pool. Si le pool exécute Windows, une valeur de tâche doit être spécifiée si une isolation plus stricte entre les tâches est requise. Par exemple, si la tâche mute le Registre d’une manière qui peut avoir un impact sur d’autres tâches, ou si des certificats ont été spécifiés sur le pool qui ne doit pas être accessible par les tâches normales, mais qu’il doit être accessible par StartTasks.

BatchError

Réponse d’erreur reçue du service Azure Batch.

Nom Type Description
code

string

Identificateur de l’erreur. Les codes sont invariants et sont destinés à être consommés par programme.

message

ErrorMessage

Message décrivant l’erreur, destiné à être adapté à l’affichage dans une interface utilisateur.

values

BatchErrorDetail[]

Collection de paires clé-valeur contenant des détails supplémentaires sur l’erreur.

BatchErrorDetail

Élément d’informations supplémentaires inclus dans une réponse d’erreur Azure Batch.

Nom Type Description
key

string

Identificateur spécifiant la signification de la propriété Value.

value

string

Informations supplémentaires incluses dans la réponse d’erreur.

ComputeNodeIdentityReference

Référence à une identité affectée par l’utilisateur associée au pool Batch qu’un nœud de calcul utilisera.

Nom Type Description
resourceId

string

ID de ressource ARM de l’identité affectée par l’utilisateur.

ContainerHostBatchBindMountEntry

Entrée du chemin d’accès et du mode montage que vous souhaitez monter dans le conteneur de tâches.

Nom Type Description
isReadOnly

boolean

Montez ce chemin source en mode lecture seule ou non. La valeur par défaut est false (mode lecture/écriture).
Pour Linux, si vous montez ce chemin en mode lecture/écriture, cela ne signifie pas que tous les utilisateurs du conteneur disposent de l’accès en lecture/écriture pour le chemin d’accès, cela dépend de l’accès dans la machine virtuelle hôte. Si ce chemin d’accès est monté en lecture seule, tous les utilisateurs du conteneur ne pourront pas modifier le chemin d’accès.

source

ContainerHostDataPath

Le chemin d’accès à monter sur le client conteneur peut être sélectionné.

ContainerHostDataPath

Chemins d’accès qui seront montés sur le conteneur de la tâche de conteneur.

Nom Type Description
Applications

string

Chemin d’accès des applications.

JobPrep

string

Chemin de la tâche de préparation du travail.

Shared

string

Chemin d’accès de la tâche multi-instances pour partager leurs fichiers.

Startup

string

Chemin d’accès de la tâche de démarrage.

Task

string

Chemin d’accès de la tâche.

VfsMounts

string

Le chemin d’accès contient tous les systèmes de fichiers virtuels sont montés sur ce nœud.

ContainerRegistry

Registre de conteneurs privé.

Nom Type Description
identityReference

ComputeNodeIdentityReference

Référence à l’identité affectée par l’utilisateur à utiliser pour accéder à azure Container Registry au lieu du nom d’utilisateur et du mot de passe.
Référence à une identité affectée par l’utilisateur associée au pool Batch qu’un nœud de calcul utilisera.

password

string

Mot de passe pour vous connecter au serveur de Registre.

registryServer

string

URL du Registre.
S’il est omis, la valeur par défaut est « docker.io ».

username

string

Nom d’utilisateur à connecter au serveur de Registre.

ContainerWorkingDirectory

Emplacement du répertoire de travail de tâche de conteneur.

Nom Type Description
containerImageDefault

string

Utilisez le répertoire de travail défini dans l’image conteneur. Veillez à ce que ce répertoire ne contienne pas les fichiers de ressources téléchargés par Batch.

taskWorkingDirectory

string

Utilisez le répertoire de travail de tâche du service Batch standard, qui contiendra les fichiers de ressources de tâche renseignés par Batch.

DependencyAction

Action effectuée par le service Batch sur les tâches qui dépendent de cette tâche.

Nom Type Description
block

string

Bloque les tâches en attente de cette tâche, ce qui les empêche d’être planifiées.

satisfy

string

Satisfaire les tâches en attente de cette tâche ; Une fois que toutes les dépendances sont satisfaites, la tâche est planifiée pour s’exécuter.

ElevationLevel

Niveau d’élévation de l’utilisateur.

Nom Type Description
admin

string

L’utilisateur est un utilisateur disposant d’un accès élevé et fonctionne avec des autorisations d’administrateur complètes.

nonadmin

string

L’utilisateur est un utilisateur standard sans accès élevé.

EnvironmentSetting

Variable d’environnement à définir sur un processus de tâche.

Nom Type Description
name

string

Nom de la variable d’environnement.

value

string

Valeur de la variable d’environnement.

ErrorMessage

Message d’erreur reçu dans une réponse d’erreur Azure Batch.

Nom Type Description
lang

string

Code de langue du message d’erreur

value

string

Texte du message.

ExitCodeMapping

Comment le service Batch doit répondre si une tâche se termine par un code de sortie particulier.

Nom Type Description
code

integer

Code de sortie du processus.

exitOptions

ExitOptions

Comment le service Batch doit répondre si la tâche se termine avec ce code de sortie.

ExitCodeRangeMapping

Plage de codes de sortie et façon dont le service Batch doit répondre aux codes de sortie dans cette plage.

Nom Type Description
end

integer

Dernier code de sortie de la plage.

exitOptions

ExitOptions

Comment le service Batch doit répondre si la tâche se termine par un code de sortie dans la plage de début à fin (inclusive).

start

integer

Premier code de sortie de la plage.

ExitConditions

Spécifie la façon dont le service Batch doit répondre à la fin de la tâche.

Nom Type Description
default

ExitOptions

Comment le service Batch doit répondre si la tâche échoue avec une condition de sortie non couverte par l’une des autres propriétés.
Cette valeur est utilisée si la tâche se termine par un code de sortie différent de zéro non répertorié dans la collection exitCodes ou exitCodeRanges, avec une erreur de prétraitement si la propriété preProcessingError n’est pas présente ou avec une erreur de chargement de fichier si la propriété fileUploadError n’est pas présente. Si vous souhaitez un comportement non par défaut sur le code de sortie 0, vous devez la répertorier explicitement à l’aide de la collection exitCodes ou exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Liste des plages de codes de sortie de tâche et comment le service Batch doit y répondre.

exitCodes

ExitCodeMapping[]

Liste des codes de sortie de tâche individuels et de la façon dont le service Batch doit y répondre.

fileUploadError

ExitOptions

Comment le service Batch doit répondre si une erreur de chargement de fichier se produit.
Si la tâche s’est terminée avec un code de sortie spécifié via exitCodes ou exitCodeRanges, puis rencontré une erreur de chargement de fichier, l’action spécifiée par le code de sortie est prioritaire.

preProcessingError

ExitOptions

Comment le service Batch doit répondre si la tâche ne démarre pas en raison d’une erreur.

ExitOptions

Spécifie la façon dont le service Batch répond à une condition de sortie particulière.

Nom Type Description
dependencyAction

DependencyAction

Action effectuée par le service Batch sur les tâches qui dépendent de cette tâche.
Les valeurs possibles sont « satisfaire » (permettant aux tâches dépendantes de progresser) et « bloquer » (les tâches dépendantes continuent d’attendre). Batch ne prend pas encore en charge l’annulation des tâches dépendantes.

jobAction

JobAction

Action à entreprendre sur le travail contenant la tâche, si la tâche se termine avec la condition de sortie donnée et que la propriété onTaskFailed du travail est « performExitOptionsJobAction ».
La valeur par défaut n’est pas pour le code de sortie 0 et se termine pour toutes les autres conditions de sortie. Si la propriété onTaskFailed du travail n’est pas action, la spécification de cette propriété renvoie une erreur et la demande d’ajout de tâche échoue avec une erreur de valeur de propriété non valide ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (requête incorrecte).

HttpHeader

Paire nom-valeur d’en-tête HTTP

Nom Type Description
name

string

Nom non sensible à la casse de l’en-tête à utiliser lors du chargement des fichiers de sortie

value

string

Valeur de l’en-tête à utiliser lors du chargement des fichiers de sortie

JobAction

Action à entreprendre sur le travail contenant la tâche, si la tâche se termine avec la condition de sortie donnée et que la propriété onTaskFailed du travail est « performExitOptionsJobAction ».

Nom Type Description
disable

string

Désactivez le travail. Cela équivaut à appeler l’API disable Job, avec une valeur disableTasks de la file d’attente.

none

string

N’effectuez aucune action.

terminate

string

Terminez le travail. TerminateReason dans l’executionInfo du travail a la valeur « TaskFailed ».

MultiInstanceSettings

Paramètres qui spécifient comment exécuter une tâche multi-instance.

Nom Type Description
commonResourceFiles

ResourceFile[]

Liste des fichiers que le service Batch télécharge avant d’exécuter la ligne de commande de coordination.
La différence entre les fichiers de ressources courants et les fichiers de ressources de tâche est que les fichiers de ressources courants sont téléchargés pour toutes les tâches subordonnées, y compris le fichier principal, tandis que les fichiers de ressources de tâche sont téléchargés uniquement pour le fichier principal. Notez également que ces fichiers de ressources ne sont pas téléchargés dans le répertoire de travail de tâche, mais qu’ils sont téléchargés vers le répertoire racine de la tâche (un répertoire au-dessus du répertoire de travail). 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.

coordinationCommandLine

string

Ligne de commande à exécuter sur tous les nœuds de calcul pour les permettre de coordonner lorsque le serveur principal exécute la commande principale de tâche.
Une ligne de commande de coordination classique lance un service en arrière-plan et vérifie que le service est prêt à traiter les messages entre nœuds.

numberOfInstances

integer

Nombre de nœuds de calcul requis par la tâche.
S’il est omis, la valeur par défaut est 1.

OutputFile

Spécification permettant de charger des fichiers à partir d’un nœud de calcul Azure Batch vers un autre emplacement une fois que le service Batch a terminé d’exécuter le processus de tâche.

Nom Type Description
destination

OutputFileDestination

Destination du ou des fichiers de sortie.

filePattern

string

Modèle indiquant le ou les fichiers à charger.
Les chemins relatifs et absolus sont pris en charge. Les chemins relatifs sont relatifs au répertoire de travail de tâche. Les caractères génériques suivants sont pris en charge : * correspond à 0 caractères ou plus (par exemple, le modèle abc* correspond à abc ou abcdef), ** correspond à n’importe quel répertoire ? correspond à n’importe quel caractère unique, [abc] correspond à un caractère entre crochets et [a-c] correspond à un caractère de la plage. Les crochets peuvent inclure une négation pour correspondre à n’importe quel caractère non spécifié (par exemple [ !abc] correspond à n’importe quel caractère, mais a, b ou c). Si un nom de fichier commence par « ». Il est ignoré par défaut, mais peut être mis en correspondance en le spécifiant explicitement (par exemple, .gif ne correspond pas à .a.gif, mais ..gif le sera). Exemple simple : ***.txt correspond à un fichier qui ne démarre pas dans '.' et se termine par .txt dans le répertoire de travail de la tâche ou tout sous-répertoire. Si le nom de fichier contient un caractère générique, il peut être placé entre crochets (par exemple abc[] correspond à un fichier nommé abc). Notez que \ et / sont traités comme des séparateurs de répertoires sur Windows, mais uniquement / est sur Linux. Les variables d’environnement (%var% sur Windows ou $var sur Linux) sont développées avant l’application du modèle.

uploadOptions

OutputFileUploadOptions

Options supplémentaires pour l’opération de chargement, notamment dans quelles conditions effectuer le chargement.

OutputFileBlobContainerDestination

Spécifie une destination de chargement de fichier dans un conteneur de stockage d’objets blob Azure.

Nom Type Description
containerUrl

string

URL du conteneur dans Stockage Blob Azure vers lequel charger le ou les fichiers.
Si vous n’utilisez pas d’identité managée, l’URL doit inclure une signature d’accès partagé (SAP) accordant des autorisations d’écriture au conteneur.

identityReference

ComputeNodeIdentityReference

Référence à l’identité affectée par l’utilisateur à utiliser pour accéder au stockage Blob Azure spécifié par containerUrl
L’identité doit avoir un accès en écriture au conteneur Stockage Blob Azure

path

string

Objet blob de destination ou répertoire virtuel dans le conteneur Stockage Azure.
Si filePattern fait référence à un fichier spécifique (c’est-à-dire qu’il ne contient pas de caractères génériques), le chemin d’accès est le nom de l’objet blob dans lequel charger ce fichier. Si filePattern contient un ou plusieurs caractères génériques (et peut donc correspondre à plusieurs fichiers), le chemin d’accès est le nom du répertoire virtuel d’objet blob (qui est ajouté à chaque nom d’objet blob) auquel charger le ou les fichiers. En cas d’omission, les fichiers sont chargés à la racine du conteneur avec un nom d’objet blob correspondant à leur nom de fichier.

uploadHeaders

HttpHeader[]

Liste des paires nom-valeur pour les en-têtes à utiliser dans le chargement de fichiers de sortie
Ces en-têtes sont spécifiés lors du chargement de fichiers dans Stockage Azure. Document officiel sur les en-têtes autorisés lors du chargement d’objets blob : https://docs.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

Destination vers laquelle un fichier doit être chargé.

Nom Type Description
container

OutputFileBlobContainerDestination

Emplacement dans stockage d’objets blob Azure vers lequel les fichiers sont chargés.

OutputFileUploadCondition

Conditions dans lesquelles un fichier de sortie de tâche ou un ensemble de fichiers doit être chargé.

Nom Type Description
taskcompletion

string

Chargez le ou les fichiers une fois le processus de tâche terminé, quel que soit le code de sortie.

taskfailure

string

Chargez le ou les fichiers uniquement une fois le processus de tâche terminé avec un code de sortie différent de zéro.

tasksuccess

string

Chargez le ou les fichiers uniquement une fois le processus de tâche terminé avec un code de sortie de 0.

OutputFileUploadOptions

Détails sur une opération de chargement de fichier de sortie, y compris dans quelles conditions effectuer le chargement.

Nom Type Description
uploadCondition

OutputFileUploadCondition

Conditions dans lesquelles le fichier de sortie de tâche ou l’ensemble de fichiers doivent être chargés.
La valeur par défaut est taskcompletion.

ResourceFile

Un seul fichier ou plusieurs fichiers à télécharger sur un nœud de calcul.

Nom Type Description
autoStorageContainerName

string

Nom du conteneur de stockage dans le compte de stockage automatique.
Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée.

blobPrefix

string

Préfixe d’objet blob à utiliser lors du téléchargement d’objets blob à partir d’un conteneur stockage Azure. Seuls les objets blob dont les noms commencent par le préfixe spécifié sont téléchargés.
La propriété est valide uniquement lorsque autoStorageContainerName ou storageContainerUrl est utilisé. Ce préfixe peut être un nom de fichier partiel ou un sous-répertoire. Si aucun préfixe n’est spécifié, tous les fichiers du conteneur sont téléchargés.

fileMode

string

Attribut du mode d’autorisation de fichier au format octal.
Cette propriété s’applique uniquement aux fichiers téléchargés sur des nœuds de calcul Linux. Elle sera ignorée si elle est spécifiée pour un resourceFile qui sera téléchargé sur un nœud de calcul Windows. Si cette propriété n’est pas spécifiée pour un nœud de calcul Linux, la valeur par défaut 0770 est appliquée au fichier.

filePath

string

Emplacement sur le nœud de calcul vers lequel télécharger le ou les fichiers, par rapport au répertoire de travail de la tâche.
Si la propriété httpUrl est spécifiée, filePath est requis et décrit le chemin vers lequel le fichier sera téléchargé, y compris le nom de fichier. Sinon, si la propriété autoStorageContainerName ou storageContainerUrl est spécifiée, filePath est facultatif et est le répertoire dans lequel télécharger les fichiers. Dans le cas où filePath est utilisé comme répertoire, toute structure de répertoires déjà associée aux données d’entrée sera conservée dans son intégralité et ajoutée au répertoire filePath spécifié. Le chemin d’accès relatif spécifié ne peut pas sortir du répertoire de travail de la tâche (par exemple à l’aide de '..').

httpUrl

string

URL du fichier à télécharger.
Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Si l’URL pointe vers stockage Blob Azure, elle doit être lisible à partir de nœuds de calcul. Il existe trois façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture sur l’objet blob, utilisez une identité managée avec une autorisation de lecture ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public.

identityReference

ComputeNodeIdentityReference

Référence à l’identité affectée par l’utilisateur à utiliser pour accéder au stockage Blob Azure spécifié par storageContainerUrl ou httpUrl
Référence à une identité affectée par l’utilisateur associée au pool Batch qu’un nœud de calcul utilisera.

storageContainerUrl

string

URL du conteneur d’objets blob dans Stockage Blob Azure.
Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Cette URL doit être lisible et listable à partir de nœuds de calcul. Il existe trois façons d’obtenir une telle URL pour un conteneur dans le stockage Azure : inclure une signature d’accès partagé (SAP) accordant des autorisations de lecture et de liste sur le conteneur, utiliser une identité managée avec des autorisations de lecture et de liste, ou définir la liste de contrôle d’accès pour le conteneur afin d’autoriser l’accès public.

TaskAddParameter

Tâche Azure Batch à ajouter.

Nom Type Description
affinityInfo

AffinityInformation

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

ApplicationPackageReference[]

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

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

string

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/azure/batch/batch-compute-node-environment-variables).

constraints

TaskConstraints

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

TaskContainerSettings

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

TaskDependencies

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

string

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

EnvironmentSetting[]

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

exitConditions

ExitConditions

Spécifie la façon dont le service Batch doit répondre à la fin de la tâche.
Comment le service Batch doit répondre à la fin de la tâche.

id

string

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

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.
Les tâches multi-instances sont couramment utilisées pour prendre en charge les tâches MPI. Dans le cas MPI, si l’une des tâches subordonnées échoue (par exemple en raison de la sortie avec un code de sortie non nul), la tâche multi-instance entière échoue. La tâche multi-instance est ensuite arrêtée et retentée, jusqu’à sa limite de nouvelles tentatives.

outputFiles

OutputFile[]

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

integer

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

ResourceFile[]

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

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.

TaskConstraints

Contraintes d’exécution à appliquer à une tâche.

Nom Type Description
maxTaskRetryCount

integer

Nombre maximal de nouvelles tentatives de la tâche. Le service Batch retente une tâche si son code de sortie n’est pas différent de zéro.
Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives pour l’exécutable de tâche en raison d’un code de sortie différent de zéro. Le service Batch essaiera la tâche une seule fois et peut ensuite réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est égal à 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 nouvelles tentatives). Si le nombre maximal de nouvelles tentatives est égal à 0, le service Batch ne réessaye pas la tâche après la première tentative. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite, mais cela n’est pas recommandé pour une tâche de démarrage ou une tâche. La valeur par défaut est 0 (aucune nouvelle tentative).

maxWallClockTime

string

Durée maximale écoulée pendant laquelle la tâche peut s’exécuter, mesurée à partir du moment où la tâche démarre. Si la tâche ne se termine pas dans le délai imparti, le service Batch l’arrête.
S’il n’est pas spécifié, il n’existe aucune limite de temps sur la durée pendant laquelle la tâche peut s’exécuter.

retentionTime

string

Durée minimale de conservation du répertoire des tâches sur le nœud de calcul où elle s’est exécutée, à partir du moment où elle termine l’exécution. Après cette période, le service Batch peut supprimer le répertoire des tâches et tout son contenu.
La valeur par défaut est de 7 jours, c’est-à-dire que le répertoire des tâches est conservé pendant 7 jours, sauf si le nœud de calcul est supprimé ou si le travail est supprimé.

TaskContainerSettings

Paramètres de conteneur d’une tâche.

Nom Type Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Chemins que vous souhaitez monter sur la tâche conteneur.
Si ce tableau est null ou n’est pas présent, la tâche de conteneur monte l’intégralité du lecteur de disque temporaire dans windows (ou AZ_BATCH_NODE_ROOT_DIR sous Linux). Il ne monte aucun chemin de données dans un conteneur si ce tableau est défini comme vide.

containerRunOptions

string

Options supplémentaires pour la commande de création de conteneur.
Ces options supplémentaires sont fournies en tant qu’arguments de la commande « docker create », en plus de celles contrôlées par le service Batch.

imageName

string

Image à utiliser pour créer le conteneur dans lequel la tâche s’exécutera.
Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Si aucune balise n’est fournie dans le cadre du nom de l’image, la balise « :latest » est utilisée comme valeur par défaut.

registry

ContainerRegistry

Registre privé qui contient l’image conteneur.
Ce paramètre peut être omis s’il a déjà été fourni lors de la création du pool.

workingDirectory

ContainerWorkingDirectory

Emplacement du répertoire de travail de tâche de conteneur.
La valeur par défaut est « taskWorkingDirectory ».

TaskDependencies

Spécifie toutes les dépendances d’une tâche. Toute tâche spécifiée explicitement ou dans une plage de dépendances doit être terminée avant que la tâche dépendante soit planifiée.

Nom Type Description
taskIdRanges

TaskIdRange[]

Liste des plages d’ID de tâche dont dépend cette tâche. Toutes les tâches de toutes les plages doivent se terminer correctement avant que la tâche dépendante puisse être planifiée.

taskIds

string[]

Liste des ID de tâche dont dépend cette tâche. Toutes les tâches de cette liste doivent se terminer correctement avant que la tâche dépendante puisse être planifiée.
La collection taskIds est limitée à 6 4 000 caractères (c’est-à-dire la longueur combinée de tous les ID de tâche). Si la collection taskIds dépasse la longueur maximale, la requête Ajouter une tâche échoue avec le code d’erreur TaskDependencyListTooLong. Dans ce cas, envisagez d’utiliser des plages d’ID de tâche à la place.

TaskIdRange

Plage d’ID de tâche dont dépend une tâche. Toutes les tâches avec ID de la plage doivent s’exécuter correctement avant que la tâche dépendante puisse être planifiée.

Nom Type Description
end

integer

Dernier ID de tâche dans la plage.

start

integer

Premier ID de tâche dans la plage.

UserIdentity

Définition de l’identité de l’utilisateur sous laquelle la tâche est exécutée.

Nom Type Description
autoUser

AutoUserSpecification

Utilisateur automatique sous lequel la tâche est exécutée.
Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux.

username

string

Nom de l’identité utilisateur sous laquelle la tâche est exécutée.
Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux.