Compartir a través de


Variables de entorno en tiempo de ejecución de Azure Batch

El servicio Azure Batch establece las siguientes variables de entorno en los nodos de proceso. Puede hacer referencia a estas variables de entorno en las líneas de comandos de tareas y en los programas y scripts ejecutados por las líneas de comandos.

Para obtener más información sobre el uso de variables de entorno con Batch, consulte Configuración del entorno para tareas.

Visibilidad de las variables de entorno

Estas variables de entorno solo son visibles en el contexto del usuario de la tarea, que es la cuenta de usuario en el nodo en el que se ejecuta una tarea. No verá estas variables cuando se conecte de forma remota a un nodo de computación a través del Protocolo de escritorio remoto (RDP) o Secure Shell (SSH) y enumere las variables de entorno. Esto se debe a que la cuenta de usuario que se usa para la conexión remota no es la misma que la cuenta que usa la tarea.

Para obtener el valor actual de una variable de entorno, inicie cmd.exe en un nodo de proceso de Windows o /bin/sh en un nodo de Linux:

cmd /c set <ENV_VARIABLE_NAME>

/bin/sh -c "printenv <ENV_VARIABLE_NAME>"

Expansión de la línea de comandos de las variables de entorno

Las líneas de comandos ejecutadas por las tareas en los nodos de proceso no se ejecutan en un shell. Esto significa que estas líneas de comandos no pueden usar de forma nativa las características del shell, como la expansión de variables de entorno (incluida la extensión de variables de PATHentorno ). Para utilizar estas características, debe invocar el shell en la línea de comandos. Por ejemplo, inicie cmd.exe en nodos de proceso de Windows o /bin/sh en nodos de Linux:

cmd /c MyTaskApplication.exe %MY_ENV_VAR%

/bin/sh -c "MyTaskApplication $MY_ENV_VAR"

Variables de entorno

Nota:

AZ_BATCH_AUTHENTICATION_TOKEN está en desuso y se retirará el 30 de septiembre de 2024. Consulte el anuncio para obtener más información y una implementación alternativa.

Nombre de la variable Descripción Disponibilidad Ejemplo
AZ_BATCH_ACCOUNT_NAME Nombre de la cuenta de Batch a la que pertenece la tarea. Todas las tareas. mybatchaccount
AZ_BATCH_ACCOUNT_URL La dirección URL de la cuenta de Batch. Todas las tareas. https://myaccount.westus.batch.azure.com
AZ_BATCH_APP_PACKAGE Prefijo de todas las variables de entorno del paquete de la aplicación. Por ejemplo, si la aplicación "FOO" versión "1" está instalada en un grupo, la variable de entorno es AZ_BATCH_APP_PACKAGE_FOO_1 (en Linux) o AZ_BATCH_APP_PACKAGE_FOO#1 (en Windows). AZ_BATCH_APP_PACKAGE_FOO_1 señala la ubicación en la que se descargó el paquete (una carpeta). Cuando uses la versión predeterminada del paquete de la aplicación, usa la variable de entorno AZ_BATCH_APP_PACKAGE sin los números de versión. Si está en Linux, y el nombre del paquete de la aplicación es "Agent-linux-x64" y la versión es "1.1.46.0", el nombre del entorno es en realidad: AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0, usando guiones bajos y minúsculas. Para obtener más información, consulte Ejecutar las aplicaciones instaladas para obtener más detalles. Cualquier tarea con un paquete de aplicación asociado. También está disponible para todas las tareas si el propio nodo tiene paquetes de aplicaciones. AZ_BATCH_APP_PACKAGE_FOO_1 (Linux) o AZ_BATCH_APP_PACKAGE_FOO#1 (Windows)
AZ_BATCH_AUTHENTICATION_TOKEN Token de autenticación que concede acceso a un conjunto limitado de operaciones de servicio de Batch. Esta variable de entorno solo está presente si se establece authenticationTokenSettings cuando se agrega la tarea. El valor del token se usa en las API de Batch como credenciales para crear un cliente de Batch, como en la API de .NET BatchClient.Open(). El token no es compatible con redes privadas. Todas las tareas. Token de acceso de OAuth2
AZ_BATCH_CERTIFICATES_DIR Un directorio dentro del directorio de trabajo de tareas en el que se almacenan los certificados para los nodos de proceso de Linux. Esta variable de entorno no se aplica a los nodos de proceso de Windows. Todas las tareas. /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs
AZ_BATCH_HOST_LIST La lista de nodos que se asignan a una tarea de varias instancias en el formato nodeIP,nodeIP. Tareas principales y secundarias de varias instancias. 10.0.0.4,10.0.0.5
AZ_BATCH_IS_CURRENT_NODE_MASTER Especifica si el nodo actual es el nodo principal para una tarea de varias instancias. Los valores posibles son true y false. Tareas principales y secundarias de varias instancias. true
AZ_BATCH_JOB_ID Id. del trabajo al que pertenece la tarea. Todas las tareas excepto la tarea de inicio. batchjob001
AZ_BATCH_JOB_PREP_DIR La ruta de acceso completa del directorio de tareas de preparación de trabajos en el nodo. Todas las tareas, excepto la tarea de inicio y la tarea de preparación del trabajo. Solo está disponible si el trabajo está configurado con una tarea de preparación del trabajo. AZ_BATCH_JOB_PREP_DIR
AZ_BATCH_JOB_PREP_WORKING_DIR La ruta completa del directorio de trabajo de la tarea de preparación del trabajo en el nodo. Todas las tareas, excepto la tarea de inicio y la tarea de preparación del trabajo. Solo está disponible si el trabajo está configurado con una tarea de preparación del trabajo. AZ_BATCH_JOB_PREP_WORKING_DIR
AZ_BATCH_MASTER_NODE La dirección IP y el puerto del nodo de proceso en el que se ejecuta la tarea principal de una tarea de varias instancias . No use el puerto especificado aquí para la comunicación MPI o NCCL, ya que está reservado para el servicio Azure Batch. En su lugar, use la variable MASTER_PORT, ya sea estableciéndola con un valor pasado a través del argumento de la línea de comandos (el puerto 6105 es una buena opción predeterminada) o utilizando el valor AML sets si lo hace. Tareas principales y secundarias de varias instancias. 10.0.0.4:6000
AZ_BATCH_NODE_ID Id. del nodo al que está asignada la tarea. Todas las tareas. TVM-1219235766_3-20160919T172711Z
AZ_BATCH_NODE_IS_DEDICATED Si true, el nodo actual es un nodo dedicado. Si false, es un nodo de Azure Spot. Todas las tareas. true
AZ_BATCH_NODE_LIST La lista de nodos que se asignan a una tarea de varias instancias en el formato nodeIP;nodeIP. Tareas principales y secundarias de varias instancias. 10.0.0.4;10.0.0.5
AZ_BATCH_NODE_MOUNTS_DIR La ruta completa de la ubicación de montaje del sistema de archivos de nivel de nodo donde residen todos los directorios de montaje. Los recursos compartidos de archivos de Windows usan una letra de unidad, por lo que para Windows, la unidad de montaje forma parte de los dispositivos y las unidades. Todas las tareas, incluida la tarea de inicio, tienen acceso al usuario, siempre que el usuario conozca los permisos de montaje para el directorio montado. AZ_BATCH_NODE_MOUNTS_DIR
AZ_BATCH_NODE_ROOT_DIR La ruta de acceso completa de la raíz de todos los directorios de Batch en el nodo. Todas las tareas. AZ_BATCH_NODE_ROOT_DIR
AZ_BATCH_NODE_SHARED_DIR La ruta completa del directorio compartido en el nodo. Todas las tareas que se ejecutan en un nodo tienen acceso de lectura/escritura a este directorio. Las tareas que se ejecutan en otros nodos no tienen acceso remoto a este directorio (no es un directorio de red "compartido"). Todas las tareas. AZ_BATCH_NODE_SHARED_DIR
AZ_BATCH_NODE_STARTUP_DIR La ruta de acceso completa del directorio de tareas de inicio en el nodo. Todas las tareas. AZ_BATCH_NODE_STARTUP_DIR
AZ_BATCH_POOL_ID Id. del grupo en el que se ejecuta la tarea. Todas las tareas. batchpool001
AZ_BATCH_TASK_DIR La ruta completa del directorio de tareas en el nodo. Este directorio contiene el stdout.txt y stderr.txt para la tarea y el AZ_BATCH_TASK_WORKING_DIR. Todas las tareas. AZ_BATCH_TASK_DIR
AZ_BATCH_TASK_ID El ID de la tarea actual. Todas las tareas excepto la tarea de inicio. tarea001
AZ_BATCH_TASK_SHARED_DIR Una ruta de acceso de directorio que es idéntica para la tarea principal y cada subtarea de una tarea de varias instancias. La ruta de acceso existe en todos los nodos en los que se ejecuta la tarea de varias instancias y es accesible para los comandos de tarea que se ejecutan en ese nodo (tanto el comando de coordinación como el comando de aplicación). Las subtareas o una tarea principal que se ejecuta en otros nodos no tienen acceso remoto a este directorio (no es un directorio de red "compartido"). Tareas principales y secundarias de varias instancias. AZ_BATCH_TASK_SHARED_DIR
AZ_BATCH_TASK_WORKING_DIR La ruta completa del directorio de trabajo de tareas en el nodo. La tarea que se está ejecutando actualmente tiene acceso de lectura/escritura a este directorio. Todas las tareas. AZ_BATCH_TASK_WORKING_DIR
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES El umbral actual de espacio en disco en el que la máquina virtual se marcará como DiskFull. Todas las tareas. 1000000
CCP_NODES La lista de nodos y el número de núcleos por nodo que se asignan a una tarea de varias instancias. Los nodos y núcleos se enumeran en el formato numNodes<space>node1IP<space>node1Cores<space>
node2IP<space>node2Cores<space> ..., donde el número de nodos va seguido de una o varias direcciones IP de nodo y el número de núcleos de cada uno.
Tareas principales y secundarias de varias instancias. 2 10.0.0.4 1 10.0.0.5 1

Importante

Los valores exactos de las rutas de acceso de las variables de entorno se consideran detalles de implementación y están sujetos a cambios. Utilice las variables de entorno proporcionadas por Batch en lugar de intentar construir representaciones de ruta de acceso sin procesar.

En la tabla siguiente se especifican los valores de cada postfijo de valor de variable de entorno después del valor AZ_BATCH_NODE_ROOT_DIR, consulte AZ_BATCH_NODE_ROOT_DIR para obtener más información.

Nombre de la variable de entorno Postfijo de directorio de valor de variable de entorno
AZ_BATCH_NODE_STARTUP_DIR startup
AZ_BATCH_NODE_SHARED_DIR shared
AZ_BATCH_NODE_MOUNTS_DIR fsmounts

Los directorios de trabajos son diferentes entre el trabajo de una sola ejecución y la programación de trabajos. En la tabla siguiente se especifican los valores del directorio de trabajos en el trabajo de ejecución única y la programación de trabajos.

Tipo de trabajo Postfijo de valor de directorio de trabajos después de AZ_BATCH_NODE_ROOT_DIR
Trabajo workitems\{job name}\job-1
Programación de trabajos workitems\{job schedule name}\{job name}

En la tabla siguiente se especifican los valores de cada variable de entorno, el valor del postfijo después del directorio de trabajos.

Nombre de la variable de entorno Directorio de valor de variable de entorno Postfijo después del directorio de trabajo
AZ_BATCH_TASK_WORKING_DIR {task name}\wd
AZ_BATCH_TASK_DIR {task name}
AZ_BATCH_TASK_SHARED_DIR {task name}
AZ_BATCH_JOB_PREP_DIR {job prepration task name}
AZ_BATCH_JOB_PREP_WORKING_DIR {job prepration task name}\wd

Pasos siguientes