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). |
|
job
|
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. |
|
time
|
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 |
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 |
La demande a réussi. En-têtes
|
|
| Other Status Codes |
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 |
|---|---|
|
Authentication |
Paramètres d’un jeton d’authentification que la tâche peut utiliser pour effectuer des opérations de service Batch. |
|
Auto |
Enums AutoUserScope |
|
Auto |
Spécifie les options de l’utilisateur automatique qui exécute une tâche Azure Batch. |
|
Batch |
Enums BatchAccessScope |
|
Batch |
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. |
|
Batch |
Référence à un package à déployer sur des nœuds de calcul. |
|
Batch |
Le résultat de la création d’une collection de tâches pour un travail. |
|
Batch |
Réponse d’erreur reçue du service Azure Batch. |
|
Batch |
Élément d’informations supplémentaires inclus dans une réponse d’erreur Azure Batch. |
|
Batch |
Message d’erreur reçu dans une réponse d’erreur Azure Batch. |
|
Batch |
Enums de BatchJobAction |
|
Batch |
Référence à une identité affectée par l’utilisateur associée au pool Batch qu’un nœud de calcul utilisera. |
|
Batch |
BatchTaskAddStatus enums |
|
Batch |
Contraintes d’exécution à appliquer à une tâche. |
|
Batch |
Paramètres de conteneur d’une tâche. |
|
Batch |
Paramètres de création d’une tâche Azure Batch. |
|
Batch |
Résultat pour une seule tâche créée dans le cadre d’une opération de collecte d’ajouts de tâches. |
|
Batch |
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. |
|
Batch |
Collection d’Azure Batch Tasks à ajouter. |
|
Batch |
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 ». |
|
Container |
Entrée du chemin d’accès et du mode montage que vous souhaitez monter dans le conteneur de tâches. |
|
Container |
Chemins d’accès qui seront montés sur le conteneur de la tâche de conteneur. |
|
Container |
Registre de conteneurs privé. |
|
Container |
ContainerWorkingDirectory enums |
|
Dependency |
Enums DependencyAction |
|
Elevation |
Enums de niveau d’élévation |
|
Environment |
Variable d’environnement à définir sur un processus de tâche. |
|
Exit |
Comment le service Batch doit répondre si une tâche se termine par un code de sortie particulier. |
|
Exit |
Plage de codes de sortie et façon dont le service Batch doit répondre aux codes de sortie dans cette plage. |
|
Exit |
Spécifie la façon dont le service Batch doit répondre à la fin de la tâche. |
|
Exit |
Spécifie la façon dont le service Batch répond à une condition de sortie particulière. |
|
Multi |
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. |
|
Output |
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. |
|
Output |
Spécifie une destination de chargement de fichier dans un conteneur de stockage d’objets blob Azure. |
|
Output |
Destination vers laquelle un fichier doit être chargé. |
|
Output |
Enums OutputFileUploadCondition |
|
Output |
Options d’une opération de chargement de fichier de sortie, y compris dans quelles conditions effectuer le chargement. |
|
Output |
Paire nom-valeur d’en-tête HTTP |
|
Resource |
Un seul fichier ou plusieurs fichiers à télécharger sur un nœud de calcul. |
|
User |
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 |
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 |
Niveau d’élévation de l’utilisateur automatique. La valeur par défaut n’est pasAdmin. |
|
| scope |
É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 |
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 |
Message décrivant l’erreur, destiné à être adapté à l’affichage dans une interface utilisateur. |
|
| values |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Une liste des paramètres des variables d’environnement pour la tâche. |
|
| 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Une liste des plages de codes de sortie de tâche et la manière dont le service Batch doit y répondre. |
|
| exitCodes |
Une liste des codes de sortie de tâche individuels et la manière dont le service Batch doit y répondre. |
|
| fileUploadError |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |