Azure Batch 服务在计算节点上设置以下环境变量。 可以在任务命令行以及命令行运行的程序和脚本中引用这些环境变量。
有关将环境变量与 Batch 配合使用的详细信息,请参阅 任务的环境设置。
这些环境变量只在任务用户(节点上执行任务的用户帐户)的上下文中可见。 通过远程桌面协议(RDP)或安全外壳(SSH) 远程连接到 计算节点并列出环境变量时,不会看到这些变量。 这是因为用于远程连接的用户帐户与任务使用的帐户不同。
若要获取环境变量的当前值,请启动 cmd.exe
在 Windows 计算节点或 /bin/sh
Linux 节点上:
cmd /c set <ENV_VARIABLE_NAME>
/bin/sh -c "printenv <ENV_VARIABLE_NAME>"
计算节点上的任务执行的命令行不会在 shell 下运行。 这意味着这些命令行无法原生使用 shell 的功能,比如环境变量扩展(包括 PATH
的扩展)。 若要使用这些功能,必须在命令行中调用 shell。 例如,在 Windows 计算节点或 cmd.exe
Linux 节点上启动/bin/sh
:
cmd /c MyTaskApplication.exe %MY_ENV_VAR%
/bin/sh -c "MyTaskApplication $MY_ENV_VAR"
变量名称 | DESCRIPTION | 可用性 | 示例: |
---|---|---|---|
AZ_BATCH_ACCOUNT_NAME | 任务所属的 Batch 帐户的名称。 | 所有任务。 | mybatchaccount |
AZ_BATCH_ACCOUNT_URL | Batch 帐户的 URL。 | 所有任务。 | https://myaccount.chinanorth.batch.chinacloudapi.cn |
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 时,此环境变量才存在。 令牌值在 Batch API 中用作凭据来创建 Batch 客户端,例如在 BatchClient.Open() .NET API 中。 令牌不支持专用网络。 | 所有任务。 | 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 | 任务所属的作业的 ID。 | 除启动任务以外的所有任务。 | batchjob001 |
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 Batch 服务。 请改用变量MASTER_PORT,可以通过命令行参数设置一个值(端口 6105 是一个很好的默认选择),或者使用 AML 所设置的值(如果 AML 提供该值)。 | 多实例主要和子任务。 | 10.0.0.4:6000 |
AZ_BATCH_NODE_ID | 任务分配给的节点的 ID。 | 所有任务。 | tvm-1219235766_3-20160919t172711z |
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 | 节点上所有 Batch 目录 的根目录的完整路径。 | 所有任务。 | 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 | 运行任务的池的 ID。 | 所有任务。 | batchpool001 |
AZ_BATCH_TASK_DIR | 节点上 任务目录 的完整路径。 此目录包含任务的 stdout.txt 和 stderr.txt ,以及 AZ_BATCH_TASK_WORKING_DIR。 |
所有任务。 | AZ_BATCH_TASK_DIR(批处理任务目录) |
AZ_BATCH_TASK_ID | 当前任务的 ID。 | 除启动任务以外的所有任务。 | task001 |
AZ_BATCH_TASK_SHARED_DIR | 主任务和 多实例任务的每个子任务的目录路径相同。 路径存在于运行多实例任务的每个节点上,并且可供在该节点上运行的任务命令( 协调命令 和 应用程序命令)读取/写入。 在其他节点上执行的子任务或主要任务没有对此目录的远程访问(它不是“共享”网络目录)。 | 多实例主要和子任务。 | AZ_BATCH_TASK_SHARED_DIR |
AZ_BATCH_TASK_WORKING_DIR | 节点上 任务工作目录 的完整路径。 当前正在运行的任务对此目录具有读/写访问权限。 | 所有任务。 | AZ_BATCH_TASK_WORKING_DIR |
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES | VM 将标记为 DiskFull 的磁盘空间的当前阈值。 |
所有任务。 | 1000000 |
CCP_NODES | 分配给 多实例任务的节点和每个节点的核心数的列表。 使用 numNodes<space>node1IP<space>node1Cores<space> 格式列出了节点和内核node2IP<space>node2Cores<space> ... ,其中节点数后面是一个或多个节点 IP 地址,以及每个节点的核心数。 |
多实例主要和子任务。 | 2 10.0.0.4 1 10.0.0.5 1 |
重要
环境变量路径的确切值被视为实现详细信息,可能会更改。 使用 Batch 提供的环境变量,而不是尝试构造原始路径表示形式。
下表指定AZ_BATCH_NODE_ROOT_DIR值后每个环境变量值后缀的值,有关详细信息,请参阅 AZ_BATCH_NODE_ROOT_DIR 。
环境变量名称 | 环境变量值目录后缀 |
---|---|
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 | {job prepration task name}\wd |
- 了解如何 将环境变量与 Batch 配合使用。
- 详细了解 Batch 中的文件和目录
- 了解多实例任务。