You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EC2实例的Apache Airflow中配置S3为DAG文件夹路径?

将Apache Airflow的DAG存储路径改为S3的实现方案

完全可以实现将Airflow的DAG存储路径切换到S3,以下是具体配置步骤:

1. 安装S3相关依赖

Airflow需要依赖亚马逊云提供商插件来和S3交互,执行以下命令安装:

pip install apache-airflow-providers-amazon

2. 配置S3访问权限

确保EC2实例能够访问目标S3桶,推荐使用IAM角色的方式:

  • 给EC2实例附加IAM策略,允许对目标S3桶执行s3:GetObject、s3:ListBucket等操作
  • 若不使用IAM角色,可通过Airflow连接配置密钥:
    • 在Airflow UI的Admin > Connections中新建S3连接,Conn ID设为s3_default,Conn Type选择S3,填写Access Key ID和Secret Access Key
    • 或通过环境变量配置:
      export AIRFLOW_CONN_S3_DEFAULT='s3://<你的AccessKey>:<你的SecretKey>@/'
      

3. 修改airflow.cfg中的DAG路径

打开airflow.cfg文件,找到dags_folder配置项,替换为你的S3桶路径:

dags_folder = s3://your-bucket-name/dags-path

将your-bucket-name和dags-path替换为实际的S3桶名和DAG存储目录。

4. 配置DAG扫描间隔(可选)

为了让Airflow及时发现S3中的新DAG,可在airflow.cfg中调整扫描间隔:

dag_dir_list_interval = 300  # 单位:秒,即每5分钟扫描一次

5. 重启Airflow服务

修改配置后重启Airflow的webserver和scheduler服务,使配置生效:

# 若使用systemd管理
systemctl restart airflow-webserver airflow-scheduler

# 若直接启动
airflow webserver restart
airflow scheduler restart

注意事项

  • 确保S3中的DAG文件为.py格式,且符合Airflow DAG的编写规范
  • 避免将密钥明文写入配置文件,优先使用IAM角色或环境变量管理权限
  • 若使用Airflow 2.x,可启用DAG Processor服务来提升S3 DAG的同步效率

内容的提问来源于stack exchange,提问作者kgupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:55:06