我尝试将气流DAG部署到AWS EC2。我按照aws-airflow-stack上的说明进行操作。 EC2上的气流运行良好。在EC2实例中,有两个airflow.cfg文件,它们位于:
/airflow/airflow.cfg
/home/ec2-user/airflow/airflow.cfg
在文件夹'/ airflow'中,Dags数据存在于那里。在'/ home / ec2-user / airflow'文件夹中,它只有airflow.cfg,airflow.db,logs和unittests.cfg文件。两者都使用默认设置。
现在我需要在Postgers数据库上添加一些用户,我将[webserver] authenticate = true和rbac = true放在我的本地airflow.cfg中,并使用CodeDeploy部署此配置文件,部署失败。检查日志,在安装事件中。消息是“部署失败,因为此位置已存在指定文件:/airflow/airflow.cfg”。我该如何解决这个问题?如何将本地气流配置文件部署到EC2?任何建议都是受欢迎的。
您是否还可以提供用于触发CodeDeploy的命令?
example Makefile中的命令指定应该覆盖已存在的文件:
aws deploy create-deployment \
--application-name $(APPLICATION) \
--deployment-group-name $(DEPLOYMENT_GROUP) \
--s3-location bucket=$(DEPLOYMENTS_BUCKET),bundleType=tgz,key=$(PACKAGE) \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--file-exists-behavior OVERWRITE
特别注意--file-exists-behavior OVERWRITE
部分。使用Makefile进行部署将确保您的airflow.cfg
文件将替换现有文件。