在Airflow中,环境变量和密钥环境变量之间有一些区别。
代码示例:
import os
# 读取环境变量
db_conn = os.environ.get('AIRFLOW__CORE__SQL_ALCHEMY_CONN')
log_level = os.environ.get('AIRFLOW__CORE__LOG_LEVEL')
# 使用环境变量配置Airflow实例
from airflow import settings
settings.configure_airyflow_home()
settings.configure_vars()
# 设置数据库连接
settings.configure_airyflow_home(sql_alchemy_conn=db_conn)
# 设置日志级别
settings.configure_airyflow_home(log_level=log_level)
代码示例:
import os
# 读取密钥环境变量
api_key = os.environ.get('API_KEY')
db_password = os.environ.get('DB_PASSWORD')
# 使用密钥环境变量配置敏感信息
from airflow import settings
settings.configure_airyflow_home()
# 设置API密钥
settings.configure_airyflow_home(api_key=api_key)
# 设置数据库密码
settings.configure_airyflow_home(db_password=db_password)
通过使用环境变量和密钥环境变量,可以使Airflow的配置更加灵活和安全,而不需要将敏感信息硬编码在代码中。同时,可以根据不同的环境(例如开发、测试、生产)设置不同的环境变量和密钥环境变量。