Variables d’environnement runtime Azure Batch
Le service Azure Batch définit les variables d’environnement suivantes sur les nœuds de calcul. Vous pouvez référencer ces variables d’environnement dans des lignes de commande de tâche, ainsi que dans les programmes et les scripts exécutés par les lignes de commande.
Pour plus d’informations sur l’utilisation de variables d’environnement avec Batch, consultez Paramètres d’environnement des tâches.
Visibilité des variables d’environnement
Ces variables d’environnement sont disponibles uniquement dans le contexte de l’utilisateur de la tâche, qui est le compte d’utilisateur sur le nœud sous lequel une tâche est exécutée. Vous ne les voyez pas en cas de connexion à distance à un nœud de calcul via RDP (Remote Desktop Protocol) ou SSH (Secure Shell) lorsque vous affichez la liste des variables d’environnement. Cela est dû au fait que le compte d’utilisateur qui est utilisé pour la connexion à distance n’est pas le même que le compte utilisé par la tâche.
Pour obtenir la valeur actuelle d’une variable d’environnement, lancez cmd.exe
sur un nœud de calcul Windows ou /bin/sh
sur un nœud Linux :
cmd /c set <ENV_VARIABLE_NAME>
/bin/sh -c "printenv <ENV_VARIABLE_NAME>"
Expansion par ligne de commande des variables d’environnement
Les lignes de commande exécutées par des tâches sur des nœuds de calcul ne s’exécutent pas sous un interpréteur de commandes. Cela signifie que ces lignes de commande ne peuvent pas utiliser en mode natif des fonctionnalités d’interpréteur de commandes, telles que l’expansion de variables d’environnement (y compris le PATH
). Pour utiliser de telles fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande. Par exemple, lancez cmd.exe
sur des nœuds de calcul Windows ou /bin/sh
sur des nœuds Linux :
cmd /c MyTaskApplication.exe %MY_ENV_VAR%
/bin/sh -c "MyTaskApplication $MY_ENV_VAR"
Variables d'environnement
Remarque
AZ_BATCH_AUTHENTICATION_TOKEN
est déconseillé et sera mis hors service le 30 septembre 2024. Consultez l’annonce pour plus d’informations et une autre implémentation.
Nom de la variable | Description | Disponibilité | Exemple |
---|---|---|---|
AZ_BATCH_ACCOUNT_NAME | Nom du compte Batch auquel la tâche appartient. | Toutes les tâches. | mybatchaccount |
AZ_BATCH_ACCOUNT_URL | URL du compte Batch. | Toutes les tâches. | https://myaccount.westus.batch.azure.com |
AZ_BATCH_APP_PACKAGE | Préfixe de toutes les variables d'environnement du package d'application. Par exemple, si l’application « FOO » version « 1 » est installée sur un pool, la variable d’environnement est AZ_BATCH_APP_PACKAGE_FOO_1 (sur Linux) ou AZ_BATCH_APP_PACKAGE_FOO#1 (sur Windows). AZ_BATCH_APP_PACKAGE_FOO_1 pointe vers l'emplacement où le package a été téléchargé (un dossier). Lorsque vous utilisez la version par défaut du package d’application, utilisez la variable d’environnement AZ_BATCH_APP_PACKAGE sans les numéros de version. Si, dans Linux, le nom du package d’application est « agent-linux-x64 » et que la version est « 1.1.46.0 », le nom de l’environnement est en réalité : AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0, avec des traits de soulignement et des minuscules. Pour plus d’informations, consultez Exécution des applications installées. | Toute tâche à laquelle un package d'application est associé. Également disponible pour toutes les tâches si le nœud lui-même contient des packages d'application. | AZ_BATCH_APP_PACKAGE_FOO_1 (Linux) ou AZ_BATCH_APP_PACKAGE_FOO#1 (Windows) |
AZ_BATCH_AUTHENTICATION_TOKEN | Jeton d’authentification qui accorde l’accès à un ensemble limité d’opérations du service Batch. Cette variable d’environnement est présente seulement si les authenticationTokenSettings sont définis quand la tâche est ajoutée. La valeur du jeton est utilisée dans les API Batch comme informations d’identification pour créer un client Batch, comme dans l’API .NET BatchClient.Open(). Le jeton ne prend pas en charge la mise en réseau privée. | Toutes les tâches. | Jeton d’accès OAuth2 |
AZ_BATCH_CERTIFICATES_DIR | Sous-répertoire du répertoire de travail de la tâche dans lequel les certificats sont stockés pour les nœuds de calcul Linux. Cette variable d’environnement ne s’applique pas aux nœuds de calcul Windows. | Toutes les tâches. | /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs |
AZ_BATCH_HOST_LIST | Liste des nœuds affectés à une tâche multi-instance au format nodeIP,nodeIP . |
Tâche principale multi-instance et tâches subordonnées. | 10.0.0.4,10.0.0.5 |
AZ_BATCH_IS_CURRENT_NODE_MASTER | Spécifie si le nœud actuel est le nœud principal pour une tâche multi-instance. Les valeurs possibles sont true et false . |
Tâche principale multi-instance et tâches subordonnées. | true |
AZ_BATCH_JOB_ID | ID du travail auquel la tâche appartient. | Toutes les tâches, sauf la tâche de démarrage. | batchjob001 |
AZ_BATCH_JOB_PREP_DIR | Chemin d’accès complet du répertoire de la tâche de préparation du travail sur le nœud. | Toutes les tâches, sauf la tâche de démarrage et la tâche de préparation du travail. Disponible uniquement si la tâche est configurée avec une tâche de préparation du travail. | C:\user\tasks\workitems\jobprepreleasesamplejob\job-1\jobpreparation |
AZ_BATCH_JOB_PREP_DIR | Chemin d’accès complet du répertoire de travail de la tâche de préparation du travail sur le nœud. | Toutes les tâches, sauf la tâche de démarrage et la tâche de préparation du travail. Disponible uniquement si la tâche est configurée avec une tâche de préparation du travail. | C:\user\tasks\workitems\jobprepreleasesamplejob\job-1\jobpreparation\wd |
AZ_BATCH_MASTER_NODE | Adresse IP et port du nœud de calcul sur lequel s’exécute la tâche principale d’une tâche multi-instance. N’utilisez pas le port spécifié ici pour la communication MPI ou NCCL. Il est réservé au service Azure Batch. Utilisez plutôt la variable MASTER_PORT, soit en la définissant avec une valeur transmise via l’argument de ligne de commande (le port 6105 est un bon choix par défaut), soit en utilisant la valeur définie par AML, le cas échéant. | Tâche principale multi-instance et tâches subordonnées. | 10.0.0.4:6000 |
AZ_BATCH_NODE_ID | ID du nœud auquel la tâche est affectée. | Toutes les tâches. | tvm-1219235766_3-20160919t172711z |
AZ_BATCH_NODE_IS_DEDICATED | Si true , le nœud actuel est un nœud dédié. Si false , il s’agit d’un nœud Azure Spot. |
Toutes les tâches. | true |
AZ_BATCH_NODE_LIST | Liste des nœuds affectés à une tâche multi-instance au format nodeIP;nodeIP . |
Tâche principale multi-instance et tâches subordonnées. | 10.0.0.4;10.0.0.5 |
AZ_BATCH_NODE_MOUNTS_DIR | Chemin complet de l’emplacement du montage de système de fichiers au niveau du nœud où se trouvent tous les répertoires de montage. Les partages de fichiers Windows utilisent une lettre de lecteur, donc pour Windows, le lecteur de montage fait partie des appareils et des lecteurs. | Toutes les tâches, y compris la tâche de démarrage, ont accès à l’utilisateur, étant donné que ce dernier a connaissance des autorisations de montage pour le répertoire monté. | Dans Ubuntu, par exemple, l’emplacement est : /mnt/batch/tasks/fsmounts |
AZ_BATCH_NODE_ROOT_DIR | Chemin complet de la racine de tous les répertoires Batch sur le nœud. | Toutes les tâches. | C:\user\tasks |
AZ_BATCH_NODE_ROOT_DIR | Chemin d’accès complet du répertoire partagé sur le nœud. Toutes les tâches qui s’exécutent sur un nœud ont accès en lecture/écriture à ce répertoire. Les tâches qui s’exécutent sur d’autres nœuds n’ont pas accès à distance à ce répertoire (il ne s’agit pas d’un répertoire réseau « partagé »). | Toutes les tâches. | C:\user\tasks\shared |
AZ_BATCH_NODE_STARTUP_DIR | Chemin d’accès complet du répertoire de la tâche de démarrage sur le nœud. | Toutes les tâches. | C:\user\tasks\startup |
AZ_BATCH_POOL_ID | ID du pool sur lequel la tâche s’exécute. | Toutes les tâches. | batchpool001 |
AZ_BATCH_TASK_DIR | Chemin d’accès complet du répertoire de la tâche sur le nœud. Ce répertoire contient les fichiers stdout.txt et stderr.txt pour la tâche et le répertoire AZ_BATCH_TASK_WORKING_DI. |
Toutes les tâches. | C:\user\tasks\workitems\batchjob001\job-1\task001 |
AZ_BATCH_TASK_ID | ID de la tâche en cours. | Toutes les tâches, sauf la tâche de démarrage. | task001 |
AZ_BATCH_TASK_SHARED_DIR | Le chemin d’accès du répertoire est identique pour la tâche principale et chaque tâche subordonnée d’une tâche multi-instance. Le chemin d’accès existe sur chaque nœud sur lequel la tâche multi-instance s’exécute, et est accessible en lecture/écriture pour les commandes de la tâche en cours d’exécution sur ce nœud (tant la commande coordination que la commande application. Des tâches subordonnées ou une tâche principale qui s’exécutent sur d’autres nœuds n’ont pas accès à distance à ce répertoire (il ne s’agit pas d’un répertoire réseau « partagé »). | Tâche principale multi-instance et tâches subordonnées. | C:\user\tasks\workitems\multiinstancesamplejob\job-1\multiinstancesampletask |
AZ_BATCH_TASK_WORKING_DIR | Chemin d’accès complet du répertoire de travail de la tâche sur le nœud. La tâche en cours d’exécution dispose d’un accès en lecture/écriture à ce répertoire. | Toutes les tâches. | C:\user\tasks\workitems\batchjob001\job-1\task001\wd |
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES | Le seuil actuel de l’espace disque sur lequel la machine virtuelle sera marquée DiskFull . |
Toutes les tâches. | 1000000 |
CCP_NODES | Liste des nœuds et nombre de cœurs par nœud alloués à une tâche multi-instance. Les nœuds et les cœurs sont répertoriés au format numNodes<space>node1IP<space>node1Cores<space> node2IP<space>node2Cores<space> ... , où le nombre de nœuds est suivi d’une ou plusieurs adresses IP de nœud et du nombre de cœurs pour chacun. |
Tâche principale multi-instance et tâches subordonnées. | 2 10.0.0.4 1 10.0.0.5 1 |
Étapes suivantes
- Découvrez comment utiliser des variables d’environnement avec Batch.
- En savoir plus sur les fichiers et répertoires dans Batch.
- En savoir plus sur tâches multi-instances.