Поделиться через


Переменные среды выполнения Azure Batch

Служба пакетной службы Azure задает следующие переменные среды на вычислительных узлах. Вы можете ссылаться на эти переменные среды в командных строках задач, а также в программах и сценариях, запускаемых этими командными строками.

Дополнительные сведения об использовании переменных среды с пакетной обработкой см. в разделе "Параметры среды" для задач.

Видимость переменной среды

Эти переменные среды видны только в контексте пользователя задачи, которая является учетной записью пользователя на узле, под которым выполняется задача. Эти переменные не отображаются при удаленном подключении к вычислительному узлу с помощью протокола удаленного рабочего стола (RDP) или Secure Shell (SSH) и перечисления переменных среды. Это связано с тем, что учетная запись пользователя, используемая для удаленного подключения, не совпадает с учетной записью, используемой задачей.

Чтобы получить текущее значение переменной среды, запустите cmd.exe на вычислительном узле Windows или /bin/sh на узле Linux:

cmd /c set <ENV_VARIABLE_NAME>

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

Расширение командной строки переменных среды

Командные строки, выполняемые задачами на вычислительных узлах, не выполняются под оболочкой. Это означает, что эти командные строки не могут использовать такие функции оболочки, как расширение переменных среды (в том числе PATH). Чтобы использовать такие функции, необходимо вызвать оболочку в командной строке. Например, запустите cmd.exe на вычислительных узлах Windows или /bin/sh на узлах Linux:

cmd /c MyTaskApplication.exe %MY_ENV_VAR%

/bin/sh -c "MyTaskApplication $MY_ENV_VAR"

Переменные среды

Примечание.

AZ_BATCH_AUTHENTICATION_TOKEN признано устаревшим и будет снято с эксплуатации 30 сентября 2024 г. Дополнительные сведения и альтернативную реализацию см. в объявлении .

Имя переменной Описание Доступность Пример
AZ_BATCH_ACCOUNT_NAME Имя учетной записи пакетной службы, к которой принадлежит задача. Все задачи. mybatchaccount
AZ_BATCH_ACCOUNT_URL URL учетной записи Batch. Все задачи. https://myaccount.westus.batch.azure.com
AZ_BATCH_APP_PACKAGE Префикс всех переменных среды пакета приложения. Например, если приложение "FOO" версии "1" установлено в пул, используется переменная среды AZ_BATCH_APP_PACKAGE_FOO_1 (в Linux) или AZ_BATCH_APP_PACKAGE_FOO#1 (в Windows). AZ_BATCH_APP_PACKAGE_FOO_1 указывает на место, в которое был скачан пакет (папка). При использовании версии пакета приложения по умолчанию используйте переменную среды AZ_BATCH_APP_PACKAGE без номеров версий. Если в Linux имя пакета приложения — "Agent-linux-x64", а версия — "1.1.46.0", то имя среды на самом деле: AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0, используя подчеркивания и нижний регистр. Дополнительные сведения см. в разделе "Выполнение установленных приложений ". Любая задача с связанным пакетом приложения. Также доступно для всех задач, если на узле есть пакеты приложений. AZ_BATCH_APP_PACKAGE_FOO_1 (Linux) или AZ_BATCH_APP_PACKAGE_FOO#1 (Windows)
AZ_BATCH_AUTHENTICATION_TOKEN Токен аутентификации, предоставляющий доступ к ограниченному числу операций службы пакетной обработки. Эта переменная среды присутствует только в том случае, если при добавлении задачи установлены authenticationTokenSettings. Значение токена используется в пакетных API в качестве данных аутентификации для создания клиента пакета, например, в .NET API BatchClient.Open(). Маркер не поддерживает частные сетевые подключения. Все задачи. Маркер доступа OAuth2
AZ_BATCH_CERTIFICATES_DIR Каталог в рабочем каталоге задачи , в котором хранятся сертификаты для вычислительных узлов Linux. Эта переменная среды не применяется к вычислительным узлам Windows. Все задачи. /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs
AZ_BATCH_HOST_LIST Список узлов, выделенных для многоэкземплярной задачи в формате nodeIP,nodeIP. Первичные задачи и подзадачи с несколькими экземплярами. 10.0.0.4,10.0.0.5
AZ_BATCH_IS_CURRENT_NODE_MASTER Указывает, является ли текущий узел главным узлом для задачи с несколькими экземплярами. Возможные значения: true и false. Первичные задачи и подзадачи с несколькими экземплярами. true
AZ_BATCH_JOB_ID Идентификатор задания, к которому принадлежит задача. Все задачи, кроме задачи запуска. Задание batch001
AZ_BATCH_JOB_PREP_DIR Полный путь к каталогу задач подготовки задания на узле. Все задачи, кроме задачи запуска и задачи подготовки заданий. Доступно только в том случае, если задание настроено с задачей подготовки заданий. AZ_BATCH_JOB_PREP_DIR
AZ_BATCH_JOB_PREP_WORKING_DIR Полный путь к рабочему каталогу задачи подготовки задания на узле. Все задачи, кроме задачи запуска и задачи подготовки заданий. Доступно только в том случае, если задание настроено с задачей подготовки заданий. AZ_BATCH_JOB_PREP_WORKING_DIR
AZ_BATCH_MASTER_NODE IP-адрес и порт вычислительного узла, на котором выполняется основная задача этого многоэкземплярного задания. Не используйте порт, указанный здесь для обмена данными MPI или NCCL. Он зарезервирован для пакетной службы Azure. Используйте переменную MASTER_PORT в качестве альтернативы, задав ей значение через аргумент командной строки (порт 6105 является хорошим вариантом по умолчанию), или используя значение, которое AML задает, если это делается. Первичные задачи и подзадачи с несколькими экземплярами. 10.0.0.4:6000
AZ_BATCH_NODE_ID Идентификатор узла, которому назначена задача. Все задачи. ТВМ-1219235766_3-20160919T172711Z
Узел AZ_BATCH является выделенным Если trueтекущий узел является выделенным узлом. Если false, это узел Azure Spot. Все задачи. true
AZ_BATCH_NODE_LIST Список узлов, выделенных для многоэкземплярной задачи в формате nodeIP;nodeIP. Первичные задачи и подзадачи с несколькими экземплярами. 10.0.0.4;10.0.0.5
AZ_BATCH_NODE_MOUNTS_DIR Полный путь к расположению подключения файловой системы на уровне узла, где находятся все каталоги подключения. Общие папки Windows используют букву диска, поэтому для Windows диск подключения является частью устройств и дисков. Все задачи, включая задачу запуска, имеют доступ к пользователю, учитывая, что пользователь знает о разрешениях подключения для подключенного каталога. AZ_BATCH_NODE_MOUNTS_DIR
AZ_BATCH_NODE_ROOT_DIR Полный путь к корневому каталогу всех каталогов пакетной службы на узле. Все задачи. AZ_BATCH_NODE_ROOT_DIR
AZ_BATCH_NODE_SHARED_DIR Полный путь к общему каталогу на узле. Все задачи, выполняемые на узле, имеют доступ на чтение и запись к этому каталогу. Задачи, выполняемые на других узлах, не имеют удаленного доступа к этому каталогу (это не общий сетевой каталог). Все задачи. AZ_BATCH_NODE_SHARED_DIR
AZ_BATCH_NODE_STARTUP_DIR Полный путь к каталогу задачи запуска на узле. Все задачи. AZ_BATCH_NODE_STARTUP_DIR
AZ_BATCH_POOL_ID Идентификатор пула, на котором выполняется задача. Все задачи. batchpool001
AZ_BATCH_TASK_DIR Полный путь к каталогу задач на узле. Этот каталог содержит stdout.txt и stderr.txt для задачи, а также AZ_BATCH_TASK_WORKING_DIR. Все задачи. AZ_BATCH_TASK_DIR
AZ_BATCH_TASK_ID Идентификатор текущей задачи. Все задачи, кроме задачи запуска. задача001
AZ_BATCH_TASK_SHARED_DIR Путь к каталогу, идентичный основной задаче и каждой подзадаче задачи с несколькими экземплярами. Путь существует на каждом узле, на котором выполняется многокомпонентная задача, и доступен для чтения и записи команды задач, выполняющихся на этом узле (как команда координации, так и команда приложения). Подзадачи или основная задача, выполняющаяся на других узлах, не имеют удаленного доступа к этому каталогу (это не общий сетевой каталог). Первичные задачи и подзадачи с несколькими экземплярами. AZ_BATCH_TASK_SHARED_DIR
AZ_BATCH_TASK_WORKING_DIR Полный путь к рабочему каталогу задачи на узле. В настоящее время выполняющаяся задача имеет доступ на чтение и запись к этому каталогу. Все задачи. AZ_BATCH_TASK_WORKING_DIR
ЗАРЕЗЕРВИРОВАННОЕ ЭФЕМЕРНОЕ ПРОСТРАНСТВО НА ДИСКЕ ДЛЯ ЗАДАЧ AZ_BATCH_BYTES Текущее пороговое значение для места на диске, на котором виртуальная машина будет помечена как DiskFull. Все задачи. 1000 000
CCP_NODES Список узлов и количество ядер на каждый узел, выделенный для задачи с несколькими экземплярами. Узлы и ядра перечислены в формате numNodes<space>node1IP<space>node1Cores<space>
node2IP<space>node2Cores<space> ..., где за числом узлов следует один или несколько IP-адресов узлов и количество ядер для каждого.
Первичные задачи и подзадачи с несколькими экземплярами. 2 10.0.0.4 1 10.0.0.5 1

Это важно

Точные значения путей для переменных среды считаются сведениями о реализации и подлежат изменению. Используйте предоставленные переменные среды пакетной службы вместо попытки создать представления необработанных путей.

В следующей таблице приведены постфиксы значений для каждой переменной среды после значения AZ_BATCH_NODE_ROOT_DIR; см. AZ_BATCH_NODE_ROOT_DIR для получения дополнительной информации.

Имя переменной среды Postfix директории значений переменной среды
AZ_BATCH_NODE_STARTUP_DIR startup
AZ_BATCH_NODE_SHARED_DIR shared
AZ_BATCH_NODE_MOUNTS_DIR fsmounts

Каталоги заданий различаются между одноразовым заданием и расписанием заданий. В следующей таблице указаны значения рабочего каталога в заданиях с единичным запуском и расписании заданий.

Тип задания Значение суффикса каталога задания после AZ_BATCH_NODE_ROOT_DIR
Работа workitems\{job name}\job-1
Расписание заданий workitems\{job schedule name}\{job name}

В следующей таблице указаны значения каждого значения переменной среды после каталога заданий.

Имя переменной среды Значение переменной среды с постфиксом каталога после каталога заданий
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

Дальнейшие действия