设置环境变量

本页面介绍了在 Cloud Composer 中设置环境变量时需满足的一些要求。

在创建或更新环境时,您可以添加一些环境变量,以供 Cloud Composer 提供给 Apache Airflow 调度器、工作器和 Web 服务器进程。例如,Cloud Composer 使用 Apache Airflow SendGrid 模块发送电子邮件通知。要配置电子邮件通知,您需要设置 SENDGRID_API_KEYSENDGRID_MAIL_FROM 环境变量。

要求

环境变量必须与正则表达式 [a-zA-Z_][a-zA-Z0-9_]* 匹配。

环境变量不得指定 Apache Airflow 软件配置替换。也就是说,这些变量不能使用 $AIRFLOW__{SECTION}__{KEY} 格式,也不能匹配 AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+) 正则表达式。

预留名称

以下名称均预留给系统,不得使用:

  • AIRFLOW_HOME
  • C_FORCE_ROOT
  • CONTAINER_NAME
  • DAGS_FOLDER
  • GCP_PROJECT
  • GCS_BUCKET
  • GKE_CLUSTER_NAME
  • SQL_DATABASE
  • SQL_INSTANCE
  • SQL_PASSWORD
  • SQL_PROJECT
  • SQL_REGION
  • SQL_USER

准备工作

  • 要设置环境变量,您需要具备以下权限:

    • composer.environments.create:用于在创建环境期间设置环境变量
    • composer.environments.update:用于更新环境变量

      如需了解详情,请参阅 Cloud Composer 访问权限控制

  • 大多数 gcloud composer 命令都需要指定一个位置。要指定此位置,您可以使用 --location 标志,也可以设置默认位置

添加和更新环境变量

要设置环境变量,请执行以下操作:

Console

要添加环境变量,请执行以下操作:

  1. 打开 Google Cloud Platform Console 中的创建环境页面。

    打开“创建环境”页面

  2. 节点配置下方,点击添加环境变量

  3. 为要添加的环境变量输入“NAME”和“VALUE”。

gcloud

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --update-env-variables=KEY=VALUE,KEY=VALUE...

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • KEY=VALUE 指定要创建或更新的环境变量。

例如:

gcloud composer environments update test-environment 
--location us-central1
--update-env-variables=SENDGRID_MAIL_FROM=updated-email@domain.com

API

要使用 Cloud Composer REST API,请发出 environments.patch 请求。

移除环境变量

要移除环境变量,请执行以下操作:

Console

  1. 打开环境页面。

    打开“环境”页面

  2. 列出环境 (List Environments) 页面上,点击相应环境名称以查看其详情。
  3. 环境变量下,点击修改
  4. 在变量值的右侧,点击回收站图标。

gcloud

要移除所有环境变量,请使用以下命令:

gcloud composer environments update ENVIRONMENT_NAME 
--location LOCATION
--clear-env-variables

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。

例如:

gcloud composer environments update test-environment 
--location us-central1
--clear-env-variables

要移除一组环境变量,请使用以下命令:

gcloud composer environments update ENVIRONMENT_NAME 
--location LOCATION
--remove-env-variables=NAME,NAME,...
其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • NAME 是要移除的环境变量。

API

要使用 Cloud Composer REST API,请发出 environments.patch 请求。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Composer