环境变量

1. 背景

批量计算为客户提供了系统环境变量和自定义环境变量功能,您可以在代码中直接使用这些环境变量。

2. 说明

目前批量计算支持两种类型运行环境,您可以按需使用:

  • VM 环境变量:
    • 作业 ID:BATCH_COMPUTE_DAG_JOB_ID
    • 任务名称:BATCH_COMPUTE_DAG_TASK_ID
    • 实例 ID:BATCH_COMPUTE_DAG_INSTANCE_ID
    • OSS Host:BATCH_COMPUTE_OSS_HOST
    • 服务区域:BATCH_COMPUTE_REGION
    • 集群 ID:BATCH_COMPUTE_CLUSTER_ID
    • 虚拟机 ID:BATCH_COMPUTE_WORKER_ID
  • Docker 运行环境:
    • root用户:USER
    • 工作目录:PWD
    • 软件路径:PATH
    • 家目录:HOME
    • 作业 ID:BATCH_COMPUTE_DAG_JOB_ID
    • 任务名称:BATCH_COMPUTE_DAG_TASK_ID
    • 实例 ID:BATCH_COMPUTE_DAG_INSTANCE_ID
    • OSS Host:BATCH_COMPUTE_OSS_HOST
    • 区域:BATCH_COMPUTE_REGION

3. 使用

3.1 SDK

  1. task_id = os.environ['BATCH_COMPUTE_DAG_TASK_ID']
  2. instance_id = os.environ['BATCH_COMPUTE_DAG_INSTANCE_ID']

4. 自定义环境变量

除了系统提供的环境变量,你也可以在提交作业的时候设置新的环境变量。

4.1. SDK

代码片段:

  1. env = {
  2. 'k1': 'v1',
  3. 'k2': 'v2'
  4. }
  5. job_desc['DAG']['Tasks']['my-task']['Parameters']['Command']['EnvVars']=env

4.2. 命令行工具

  1. bcs sub "python main.py" -e k1:v1,k2:v2