amazon-web-services - 使用 AWS SSM Parameter Store Secrets Backend 将 Airflow docker 连接到 RDS
问题描述
我在机器airflow
上运行。docker
现在它工作正常,但我有兴趣AWS Systems manager
用作 RDS 数据库 ( postgresql
) 的用户和密码的提供者。
我看到了AWS SSM Parameter Store Secrets Backend
,所以我设置了airflow.cfg
:
[secrets]
backend = airflow.contrib.secrets.aws_systems_manager.SystemsManagerParameterStoreBackend
backend_kwargs ={"rds_user": "/pro/database/airflow/user", "rds_password": "/pro/database/airflow/password", "profile_name":"myrole"}
该profile_name
变量定义了参数所在的 AWS 角色。
我还有一个entrypoint.sh
脚本,它使用:
if [ -z "$AIRFLOW__CORE__SQL_ALCHEMY_CONN" ]; then
# Default values corresponding to the default compose files
: "${POSTGRES_HOST:="hostname"}"
: "${POSTGRES_PORT:="5432"}"
: "${POSTGRES_USER:=AIRFLOW__SECRETS__BACKEND_KWARGS['rds_user']}"
: "${POSTGRES_PASSWORD:="mypassword"}"
: "${POSTGRES_DB:="postgres"}"
: "${POSTGRES_EXTRAS:-""}"
如您所见,我正在使用AIRFLOW__SECRETS__BACKEND_KWARGS['rds_user']
从文件中定义的环境变量中读取,cfg
但它不起作用。如果我使用 Bash 和 echo 变量进入 docker,我没有任何变量,例如AIRFLOW__XXXXXX
.
我正在尝试关注airflow docs
它,但它根本没有解释你应该如何使用它。
解决方案
推荐阅读
- android - 使用 Coordinator 布局时,SnackBar 显示在某个高度之上
- python - 使用 Google Adword API 时收到此错误 OperatorError.OPERATOR_NOT_SUPPORTED @ operations[0]
- algorithm - 找到这样一种方式,即在途中跳跃的最大距离可能是最小的
- css - 隐藏在 Accordion bootstrap 后面的 react-datetime
- javascript - 偶尔在保存导入时添加MissingImports 再次反应
- javascript - 如何使链接包含文本并显示在文本框中
- javascript - NodeJS MonogoDB Postman Post 请求引发错误,可能是 objectID 错误
- python - 使用pyside设计windows 10电池充电进度条
- amazon-web-services - CloudFormation 条件问题
- php - SQL PDO 不插入记录