Partager via


Tasks - Create Task Collection

Ajoute une collection de tâches au poste spécifié.
Notez que chaque tâche doit avoir un ID unique. Le service Batch ne peut pas retourner les résultats de chaque Tâche dans le même ordre que celles soumises dans cette requête. Si le serveur expire ou si la connexion est fermée pendant la requête, la requête peut avoir été partiellement ou totalement traitée, ou pas du tout. Dans de tels cas, l’utilisateur doit réémettre la demande. Notez qu’il revient à l’utilisateur de gérer correctement les pannes lors de la réémission d’une requête. Par exemple, vous devriez utiliser les mêmes identifiants de tâche lors d’une réévaluation afin que, si l’opération précédente a réussi, la réévaluation ne crée pas de tâches supplémentaires de façon inattendue. Si la réponse contient des tâches qui n’ont pas été ajoutées, un client peut réessayer la requête. Lors d’une nouvelle tentative, il est plus efficace de soumettre à nouveau uniquement les tâches qui n’ont pas été ajoutées, et d’omettre les tâches ajoutées avec succès dès la première tentative. La durée de vie maximale d’une tâche, de l’ajout à l’achèvement, est de 180 jours. Si une tâche n’a pas été terminée dans les 180 jours suivant son ajout, elle sera terminée par le service Batch et laissée dans l’état où elle se trouvait à ce moment-là.

POST {endpoint}/jobs/{jobId}/addtaskcollection?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/addtaskcollection?api-version=2025-06-01&timeOut={timeOut}

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string (uri)

Point de terminaison de compte Batch (par exemple : https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

L’identifiant du Job auquel la collection de Tâches doit être ajoutée.

api-version
query True

string

minLength: 1

Version de l’API à utiliser pour cette opération.

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, le par défaut sera utilisé à la place. »

En-tête de la demande

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

Nom Obligatoire Type Description
client-request-id

string

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

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
value True

BatchTaskCreateOptions[]

La collection de tâches à ajouter. Le nombre maximal de Tâches est de 100. La taille totale sérialisée de cette collection doit être inférieure à 1 Mo. Si elle dépasse 1 Mo (par exemple, si chaque tâche contient des centaines de fichiers ressources ou de variables d’environnement), la requête échouera avec le code « RequestBodyTooLarge » et devra être réessayée avec moins de tâches.

Réponses

Nom Type Description
200 OK

BatchCreateTaskCollectionResult

La demande a réussi.

En-têtes

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

BatchError

Réponse d’erreur inattendue.

Sécurité

OAuth2Auth

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

Étendues

Nom Description
https://batch.core.windows.net//.default

Exemples

Creates a basic collection of tasks
Creates a complex collection of tasks

Creates a basic collection of tasks

Exemple de requête

POST {endpoint}/jobs/jobId/addtaskcollection?api-version=2025-06-01



{
  "value": [
    {
      "id": "simple1",
      "commandLine": "cmd /c dir /s"
    },
    {
      "id": "simple2",
      "commandLine": "cmd /c dir /s"
    }
  ]
}

Exemple de réponse

{
  "value": [
    {
      "status": "success",
      "taskId": "simple1",
      "eTag": "0x8D3D623CD661246",
      "lastModified": "2025-09-06T07:02:44.7589958Z",
      "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1"
    },
    {
      "status": "success",
      "taskId": "simple2",
      "eTag": "0x8D3D623CD7072CC",
      "lastModified": "2025-09-06T07:02:44.8270028Z",
      "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2"
    }
  ]
}

Creates a complex collection of tasks

Exemple de requête

POST {endpoint}/jobs/jobId/addtaskcollection?api-version=2025-06-01



{
  "value": [
    {
      "id": "complex1",
      "commandLine": "cmd /c dir /s",
      "resourceFiles": [
        {
          "autoStorageContainerName": "containerName",
          "filePath": "data"
        }
      ],
      "environmentSettings": [
        {
          "name": "env1",
          "value": "value1"
        },
        {
          "name": "env2",
          "value": "value2"
        }
      ],
      "affinityInfo": {
        "affinityId": "affinityId"
      },
      "constraints": {
        "maxWallClockTime": "P1D",
        "retentionTime": "P2D",
        "maxTaskRetryCount": 5
      },
      "requiredSlots": 2,
      "multiInstanceSettings": {
        "numberOfInstances": 3,
        "coordinationCommandLine": "cmd /c echo coordinating",
        "commonResourceFiles": [
          {
            "httpUrl": "https://common.blob.core.windows.net/",
            "filePath": "common.exe"
          }
        ]
      }
    },
    {
      "id": "simple3",
      "commandLine": "cmd /c dir /s"
    }
  ]
}

Exemple de réponse

{
  "value": [
    {
      "taskId": "simple3",
      "status": "success",
      "eTag": "0x8D3D623CE295629",
      "lastModified": "2025-09-06T07:02:46.0386857Z",
      "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3"
    },
    {
      "taskId": "complex1",
      "status": "success",
      "eTag": "0x8D3D623CE29A412",
      "lastModified": "2025-09-06T07:02:46.0406802Z",
      "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1"
    }
  ]
}

Définitions

Nom Description
AuthenticationTokenSettings

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

AutoUserScope

Enums AutoUserScope

AutoUserSpecification

Spécifie les options de l’utilisateur automatique qui exécute une tâche Azure Batch.

BatchAccessScope

Enums BatchAccessScope

BatchAffinityInfo

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.

BatchApplicationPackageReference

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

BatchCreateTaskCollectionResult

Le résultat de la création d’une collection de tâches pour un travail.

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.

BatchErrorMessage

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

BatchJobActionKind

Enums de BatchJobAction

BatchNodeIdentityReference

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

BatchTaskAddStatus

BatchTaskAddStatus enums

BatchTaskConstraints

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

BatchTaskContainerSettings

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

BatchTaskCreateOptions

Paramètres de création d’une tâche Azure Batch.

BatchTaskCreateResult

Résultat pour une seule tâche créée dans le cadre d’une opération de collecte d’ajouts de tâches.

BatchTaskDependencies

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.

BatchTaskGroup

Collection d’Azure Batch Tasks à ajouter.

BatchTaskIdRange

Le début et la fin de la plage sont inclusifs. Par exemple, si une plage a le début 9 et la fin 12, elle représente les tâches « 9 », « 10 », « 11 » et « 12 ».

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.

ContainerRegistryReference

Registre de conteneurs privé.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

DependencyAction

Enums DependencyAction

ElevationLevel

Enums de niveau d’élévation

EnvironmentSetting

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

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.

MultiInstanceSettings

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.

OutputFile

Sur chaque chargement de fichier, le service Batch écrit deux fichiers journaux dans le nœud de calcul, «fileuploadout.txt» et «fileuploaderr.txt». Ces fichiers journaux sont utilisés pour en savoir plus sur un échec spécifique.

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

Enums OutputFileUploadCondition

OutputFileUploadConfig

Options d’une opération de chargement de fichier de sortie, y compris dans quelles conditions effectuer le chargement.

OutputFileUploadHeader

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

ResourceFile

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

UserIdentity

Définition de l’identité de l’utilisateur sous laquelle la tâche est exécutée. Spécifiez la propriété userName ou autoUser, mais pas les deux.

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

BatchAccessScope[]

Les ressources du lot auxquelles le jeton accorde l’accès. Le jeton d’authentification donne 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 », qui accorde l’accès à toutes les opérations liées au Job contenant la Tâche.

AutoUserScope

Enums AutoUserScope

Valeur Description
task

Précise que le service doit créer un nouvel utilisateur pour la tâche.

pool

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

AutoUserSpecification

Spécifie les options de l’utilisateur automatique qui exécute une tâche Azure 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 modifie le registre d’une manière qui pourrait avoir un impact sur d’autres tâches.

BatchAccessScope

Enums BatchAccessScope

Valeur Description
job

Accorde l’accès à toutes les opérations sur le Job contenant la Tâche.

BatchAffinityInfo

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

Une chaîne opaque représentant l’emplacement d’un nœud de calcul ou d’une tâche qui a été exécutée auparavant. Vous pouvez passer 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.

BatchApplicationPackageReference

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

Nom Type Description
applicationId

string

L’identifiant 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 cette option est omise 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.

BatchCreateTaskCollectionResult

Le résultat de la création d’une collection de tâches pour un travail.

Nom Type Description
value

BatchTaskCreateResult[]

Les résultats de l’opération création de la collecte de tâches.

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

BatchErrorMessage

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.

BatchErrorMessage

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

Nom Type Description
lang

string

Le code de langue du message d’erreur.

value

string

Le texte du message.

BatchJobActionKind

Enums de BatchJobAction

Valeur Description
none

N’effectuez aucune action.

disable

Désactivez le travail. Cela équivaut à appeler l’API de Job désactivée, avec une valeur disableTasks de requeue.

terminate

Mettez fin au travail. La raison de terminationInInfoExécution du Job est définie sur « TaskFailed ».

BatchNodeIdentityReference

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 (arm-id)

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

BatchTaskAddStatus

BatchTaskAddStatus enums

Valeur Description
success

La tâche a été ajoutée avec succès.

clienterror

La tâche n’a pas été ajoutée en raison d’une erreur client et ne doit pas être réessayée sans modifier la requête si nécessaire.

servererror

La tâche n’a pas été ajoutée à cause d’une erreur serveur et peut être réessayée sans modification.

BatchTaskConstraints

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

Nom Type Description
maxTaskRetryCount

integer (int32)

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 tentatives pour l’exécutable Tâche en raison d’un code de sortie non nul. 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 réessais est de 0, le service Batch ne réessaie 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 (duration)

Le temps maximal écoulé que la tâche peut exécuter, mesuré à partir du moment où la tâche commence. Si la tâche ne se termine pas dans le temps imparti, le service Batch la termine. Si cela n’est pas spécifié, il n’y a pas de limite de temps sur la durée de la tâche.

retentionTime

string (duration)

Le temps minimum pour conserver le répertoire Task sur le nœud de calcul où il a été exécuté, à partir de la fin de son exécution. Après ce délai, le service Batch peut supprimer le répertoire Tâche et tout son contenu. Par défaut, c’est 7 jours, c’est-à-dire que le répertoire Tâche sera conservé pendant 7 jours, sauf si le nœud de calcul est supprimé ou que le travail est supprimé.

BatchTaskContainerSettings

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

L’image à utiliser pour créer le conteneur dans lequel la tâche s’exécutera. Voici la référence complète de l’image, comme cela serait spécifié pour « docker pull ». Si aucune étiquette n’est fournie dans le nom de l’image, la balise « :lont » est utilisée par défaut.

registry

ContainerRegistryReference

Le registre privé qui contient l’image du conteneur. Ce paramètre peut être omis si cela a déjà été proposé lors de la création du pool.

workingDirectory

ContainerWorkingDirectory

L’emplacement du répertoire de travail Tâches du conteneur. La valeur par défaut est « taskWorkingDirectory ».

BatchTaskCreateOptions

Paramètres de création d’une tâche Azure Batch.

Nom Type Description
affinityInfo

BatchAffinityInfo

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

applicationPackageReferences

BatchApplicationPackageReference[]

Une liste des paquets que le service Batch déploiera sur le nœud de calcul avant d’exécuter la ligne de commande. Les packages applicatifs sont téléchargés et déployés dans un répertoire partagé, et non dans le répertoire de travail Task. Par conséquent, si un paquet référencé est déjà sur le nœud et est à jour, il n’est pas retéléchargé ; la copie existante sur le nœud de calcul est utilisée. Si un paquet référencé ne peut pas être installé, par exemple parce qu’il 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 activée, le service Batch fournit à la tâche un jeton d’authentification qui peut être utilisé pour authentifier les opérations du 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 avec le jeton dépendent des réglages. Par exemple, une tâche peut demander des permissions de travail afin d’ajouter d’autres tâches à la tâche, ou vérifier le statut de la tâche ou d’autres tâches sous la tâche.

commandLine

string

La ligne de commande de la Tâche. Pour les tâches multi-instances, la ligne de commande est exécutée comme tâche principale, après que la tâche principale et toutes les sous-tâches ont terminé l’exécution de 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

Les 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 Job, le maxWallClockTime est infini, et le retentionTime est de 7 jours.

containerSettings

BatchTaskContainerSettings

Les paramètres du conteneur sous lequel la tâche s’exécute. Si le pool qui exécutera cette tâche a containerConfiguration définie, cela doit aussi être configuré. Si le pool qui exécutera cette tâche n’a pas containerConfiguration défini, cela ne doit pas être défini. Lorsque cela est spécifié, tous les répertoires 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 de l’environnement Tâche sont mappées dans le conteneur, et la ligne de commande Tâche 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 reflétés sur le disque hôte, ce qui signifie que les API de fichiers Batch ne pourront pas accéder à ces fichiers.

dependsOn

BatchTaskDependencies

Les tâches dont cette tâche dépend. Cette tâche ne sera pas programmée tant que toutes les tâches dont elle dépend n’auront pas été achevées avec succès. Si l’une de ces tâches échoue et épuise son nombre de réessays, cette tâche ne sera jamais programmée. Si le Job n’a pas d’usesTaskDependencies réglé sur true, et que cet élément est présent, la requête échoue avec le code d’erreur TaskDependenciesNotSpecifiedOnJob.

displayName

string

Un nom d’affichage pour 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[]

Une liste des paramètres des variables d’environnement pour la tâche.

exitConditions

ExitConditions

Comment le service Batch devrait réagir à la fin de la Tâche.

id

string

Une chaîne qui identifie de manière unique la Tâche au sein du Job. 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 préservant et insensible à la casse (c’est-à-dire que vous n’avez peut-être pas deux ID dans un poste qui ne diffèrent que par casuscule).

multiInstanceSettings

MultiInstanceSettings

Un objet qui indique que la tâche est une tâche multi-instances, et contient des informations sur la manière d’exécuter la tâche multi-instances.

outputFiles

OutputFile[]

Une liste de fichiers que le service Batch téléversera depuis le nœud de calcul après avoir lancé la ligne de commande. Pour les tâches multi-instances, les fichiers ne seront téléchargés que depuis le nœud de calcul sur lequel la tâche principale est exécutée.

requiredSlots

integer (int32)

Le nombre de créneaux de planification que la Tâche devait exécuter. La valeur par défaut est 1. Une tâche ne peut être programmée pour s’exécuter sur un nœud de calcul que si le nœud dispose de suffisamment de créneaux libres pour la planification disponible. Pour les tâches multi-instances, cela doit être 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 ne seront téléchargés que vers 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

L’identité 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.

BatchTaskCreateResult

Résultat pour une seule tâche créée dans le cadre d’une opération de collecte d’ajouts de tâches.

Nom Type Description
eTag

string

L’ETag de la tâche, si celle-ci a été ajoutée avec succès. Vous pouvez l’utiliser pour détecter si la tâche a changé entre les requêtes. En particulier, vous pouvez passer l’ETag avec une demande de tâche de mise à jour pour spécifier que vos modifications ne doivent prendre effet que si personne d’autre n’a modifié le travail entre-temps.

error

BatchError

L’erreur rencontrée lors de la tentative d’ajouter la tâche.

lastModified

string (date-time)

Le dernier temps modifié de la Tâche.

location

string

L’URL de la tâche, si celle-ci a été ajoutée avec succès.

status

BatchTaskAddStatus

Le statut de la demande d’ajout de tâche.

taskId

string

L’ID de la tâche pour laquelle ce résultat est donné.

BatchTaskDependencies

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

BatchTaskIdRange[]

La liste des plages d’identifiants de tâche sur lesquelles cette tâche dépend. Toutes les tâches dans toutes les plages doivent être terminées avec succès avant que la tâche dépendante puisse être planifiée.

taskIds

string[]

La liste des identifiants de tâche dont dépend cette tâche. Toutes les tâches de cette liste doivent être complétées avec succès avant que la tâche dépendante puisse être planifiée. La collection taskIds est limitée à 64 000 caractères au total (c’est-à-dire la longueur combinée de tous les identifiants de tâche). Si la collection taskIds dépasse la longueur maximale, la requête Add Task échoue avec le code d’erreur TaskDependencyListTooLong. Dans ce cas, envisagez d’utiliser plutôt des plages d’identifiants de tâche.

BatchTaskGroup

Collection d’Azure Batch Tasks à ajouter.

Nom Type Description
value

BatchTaskCreateOptions[]

La collection de tâches à ajouter. Le nombre maximal de Tâches est de 100. La taille totale sérialisée de cette collection doit être inférieure à 1 Mo. Si elle dépasse 1 Mo (par exemple, si chaque tâche contient des centaines de fichiers ressources ou de variables d’environnement), la requête échouera avec le code « RequestBodyTooLarge » et devra être réessayée avec moins de tâches.

BatchTaskIdRange

Le début et la fin de la plage sont inclusifs. Par exemple, si une plage a le début 9 et la fin 12, elle représente les tâches « 9 », « 10 », « 11 » et « 12 ».

Nom Type Description
end

integer (int32)

Le dernier identifiant de tâche de la plage.

start

integer (int32)

Le premier Task ID de la gamme.

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.

Valeur Description
Shared

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

Startup

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

VfsMounts

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

Task

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

JobPrep

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

Applications

Chemin d’accès des applications.

ContainerRegistryReference

Registre de conteneurs privé.

Nom Type Description
identityReference

BatchNodeIdentityReference

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.

password

string (password)

Mot de passe pour vous connecter au serveur de Registre.

registryServer

string (uri)

L’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

ContainerWorkingDirectory enums

Valeur Description
taskWorkingDirectory

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

containerImageDefault

Utilisez le répertoire de travail défini dans l’image du conteneur. Attention : ce répertoire ne contiendra pas les fichiers de ressources téléchargés par Batch.

DependencyAction

Enums DependencyAction

Valeur Description
satisfy

Satisfaire les tâches en attente de cette tâche ; une fois toutes les dépendances satisfaites, la tâche sera programmée pour l’exécution.

block

Bloque les tâches en attente de cette tâche, empêchant ainsi leur programmation.

ElevationLevel

Enums de niveau d’élévation

Valeur Description
nonadmin

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

admin

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

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.

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 (int32)

Un code de sortie de processus.

exitOptions

ExitOptions

Comment le service Batch doit réagir si la tâche sort 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 (int32)

Le dernier code de sortie dans la plage.

exitOptions

ExitOptions

Comment le service Batch doit réagir si la tâche sort avec un code de sortie dans la plage du début à la fin (inclusivement).

start

integer (int32)

Le premier code de sortie dans 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éagir si la tâche échoue avec une condition de sortie non couverte par les autres propriétés. Cette valeur est utilisée si la tâche sort avec un code de sortie non nul non listé 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 télé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 le lister explicitement à l’aide de la collection exitCodes ou exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Une liste des plages de codes de sortie de tâche et la manière dont le service Batch doit y répondre.

exitCodes

ExitCodeMapping[]

Une liste des codes de sortie de tâche individuels et la manière dont le service Batch doit y répondre.

fileUploadError

ExitOptions

Comment le service Batch doit réagir en cas d’erreur de téléchargement de fichier ? Si la tâche s’est quittée avec un code de sortie spécifié via exitCodes ou exitCodeRanges, puis a rencontré une erreur de téléchargement de fichier, alors l’action spécifiée par le code de sortie prend le pas.

preProcessingError

ExitOptions

Comment le service Batch doit réagir si la tâche ne démarre pas à cause 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

Une action que le service Batch effectue sur des 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). Le Batch ne prend pas encore en charge l’annulation des tâches dépendantes.

jobAction

BatchJobActionKind

Une action à effectuer sur le Job contenant la Tâche, si la Tâche se termine avec la condition de sortie donnée et que la propriété onTaskFailed du Job est « performExitOptionsJobAction ». Le défaut est aucun pour le code de sortie 0 et terminer pour toutes les autres conditions de sortie. Si la propriété onTaskFailed du Job est noaction, alors la spécification de cette propriété renvoie une erreur et la requête add Task échoue avec une erreur de valeur de propriété invalide ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (Mauvaise requête).

MultiInstanceSettings

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.

Nom Type Description
commonResourceFiles

ResourceFile[]

Une liste des fichiers que le service Batch téléchargera avant d’exécuter la ligne de commande de coordination. La différence entre les fichiers de ressources communs et les fichiers de ressources Tâche est que les fichiers de ressources communs sont téléchargés pour toutes les sous-tâches, y compris la principale, tandis que les fichiers de ressources Tâches sont téléchargés uniquement pour la principale. Notez également que ces fichiers ressources ne sont pas téléchargés dans le répertoire de travail Tâche, mais sont téléchargés dans le répertoire racine Tâche (un répertoire au-dessus de celui 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

La ligne de commande doit s’exécuter sur tous les nœuds de calcul afin de leur permettre de coordonner lorsque le principal exécute la commande principale Task. Une ligne de commande de coordination typique lance un service en arrière-plan et vérifie que le service est prêt à traiter les messages inter-nœuds.

numberOfInstances

integer (int32)

Le nombre de nœuds de calcul requis par la tâche. Si elle est omise, la valeur par défaut est 1.

OutputFile

Sur chaque chargement de fichier, le service Batch écrit deux fichiers journaux dans le nœud de calcul, «fileuploadout.txt» et «fileuploaderr.txt». Ces fichiers journaux sont utilisés pour en savoir plus sur un échec spécifique.

Nom Type Description
destination

OutputFileDestination

La destination pour le(s) fichier(s) de sortie.

filePattern

string

Un motif indiquant le(s) fichier(s) à télécharger. Les chemins relatifs et absolus sont pris en charge. Les chemins relatifs sont relatifs au répertoire de travail Task. Les jokers suivants sont pris en charge : * correspond à 0 caractères ou plus (par exemple, le motif abc* correspondrait à abc ou abcdef), ** correspond à n’importe quel répertoire, ? correspond à un caractère individuel, [ABC] correspond à un caractère entre crochets, et [A-C] correspond à un caractère dans la plage. Les crochets peuvent inclure une négation correspondant à n’importe quel caractère non spécifié (par exemple [ !abc] correspond à n’importe quel caractère sauf a, b ou c). Si un nom de fichier commence par « ». il est ignoré par défaut mais peut être associé en le spécifiant explicitement (par exemple ,.gif ne correspondra pas à .a.gif, mais ..gif le fera). Un exemple simple : ***.txt correspond à tout fichier qui ne commence pas par '. et se termine par .txt dans le répertoire de travail Tâche ou dans un sous-répertoire. Si le nom du fichier contient un caractère joker, il peut être échappé en utilisant des crochets (par exemple, abc[] correspondrait à un fichier nommé abc). Notez que \ et / sont considérés comme des séparateurs de répertoires sur Windows, mais uniquement / est sous Linux. Les variables d’environnement (%var% sous Windows ou $var sous Linux) sont développées avant l’application du schéma.

uploadOptions

OutputFileUploadConfig

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

OutputFileBlobContainerDestination

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

Nom Type Description
containerUrl

string (uri)

L’URL du conteneur dans Azure Blob Storage vers lequel télécharger le(s) fichier(s). Si l’URL n’utilise pas d’identité gérée, l’URL doit inclure une signature d’accès partagée (SAS) accordant des permissions d’écriture au conteneur.

identityReference

BatchNodeIdentityReference

La référence à l’identité assignée par l’utilisateur pour accéder à Azure Blob Storage spécifiée par containerUrl. L’identité doit avoir un accès en écriture au conteneur Azure Blob Storage.

path

string

Le blob de destination ou répertoire virtuel dans le conteneur Azure Storage. Si filePattern fait référence à un fichier spécifique (c’est-à-dire qu’il ne contient pas de jokers), alors path est le nom du blob vers lequel télécharger ce fichier. Si filePattern contient une ou plusieurs cartes jokers (et peut donc correspondre à plusieurs fichiers), alors path est le nom du répertoire virtuel du blob (qui est précédé à chaque nom de blob) auquel télécharger le(s) fichier(s). S’ils sont omis, les fichiers sont téléchargés à la racine du conteneur avec un nom de blob correspondant à leur nom de fichier.

uploadHeaders

OutputFileUploadHeader[]

Une liste des paires nom-valeur pour les en-têtes à utiliser dans l’envoi des fichiers de sortie. Ces en-têtes seront spécifiés lors du téléchargement des fichiers vers Azure Storage. Document officiel sur les en-têtes autorisés lors de l’envoi de blobs : https://learn.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

Un emplacement dans le stockage de blob Azure où les fichiers sont téléchargés.

OutputFileUploadCondition

Enums OutputFileUploadCondition

Valeur Description
tasksuccess

Téléversez le(s) fichier(s) uniquement après la fin du processus de tâche avec un code de sortie de 0.

taskfailure

Téléversez le(s) fichier(s) seulement après que le processus de tâche soit sorti avec un code de sortie non nul.

taskcompletion

Téléversez le(s) fichier(s) après la fin du processus de tâche, quel que soit le code de sortie.

OutputFileUploadConfig

Options d’une opération de chargement de fichier de sortie, y compris dans quelles conditions effectuer le chargement.

Nom Type Description
uploadCondition

OutputFileUploadCondition

Les conditions sous lesquelles le fichier de sortie Tâche ou l’ensemble de fichiers doit être téléchargé. Par défaut, c’est l’achèvement des tâches.

OutputFileUploadHeader

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

Nom Type Description
name

string

Le nom insensible à la majuscule de l’en-tête à utiliser lors de l’envoi des fichiers de sortie.

value

string

La valeur de l’en-tête à utiliser lors du téléchargement des fichiers de sortie.

ResourceFile

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

Nom Type Description
autoStorageContainerName

string

Le nom du conteneur de stockage est 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é ne s’applique qu’aux fichiers téléchargés vers des nœuds de calcul Linux. Il sera ignoré s’il est spécifié 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 Linux Compute, alors une valeur par défaut de 0770 est appliquée au fichier.

filePath

string

L’emplacement sur le nœud de calcul vers lequel télécharger le(s) fichier(s), 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 relatif spécifié ne peut pas sortir du répertoire de travail de la tâche (par exemple en utilisant '..').

httpUrl

string (uri)

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

BatchNodeIdentityReference

La référence à l’identité attribuée par l’utilisateur pour accéder à Azure Blob Storage spécifiée par storageContainerUrl ou httpUrl.

storageContainerUrl

string (uri)

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.

UserIdentity

Définition de l’identité de l’utilisateur sous laquelle la tâche est exécutée. Spécifiez la propriété userName ou autoUser, mais pas les deux.

Nom Type Description
autoUser

AutoUserSpecification

L’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

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