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

MWAA(2.8.1)环境下无法安装snowflake-connector-python问题求助

解决AWS MWAA私有环境安装snowflake-connector-python==3.6.0的冲突问题

问题根源

你遇到的冲突报错本质是MWAA自带的依赖约束文件和你指定的版本产生了重复约束冲突,而且把wheel包放进plugins.zip是错误的做法——plugins.zip仅用于存放Airflow自定义插件,不能用来安装Python依赖包。

解决步骤

1. 用requirements.txt管理依赖

MWAA要求通过requirements.txt来声明Python依赖,具体操作:

  • 创建requirements.txt文件,写入:
    snowflake-connector-python==3.6.0
    
  • 如果还是触发约束冲突,需要覆盖MWAA的默认约束:
    在requirements.txt开头添加对应Python版本的官方约束文件(你的环境是Python3.10,所以用这个):
    --constraint https://raw.githubusercontent.com/aws/aws-mwaa-local-runner/main/docker/config/requirements/constraints-3.10.txt
    snowflake-connector-python==3.6.0
    

2. 上传requirements.txt到S3并更新MWAA配置

  • 将编辑好的requirements.txt上传到你的MWAA对应的S3存储桶(比如s3://your-mwaa-bucket/requirements/requirements.txt)
  • 登录AWS控制台,找到你的MWAA环境,在“环境配置”中更新“Requirements file”的路径为上述S3路径,保存后触发环境更新。

3. 私有网络环境的额外处理

如果你的MWAA是完全私有、无法访问公网的:

  • 下载snowflake-connector-python==3.6.0及其所有依赖的wheel包到本地(可以用pip download snowflake-connector-python==3.6.0命令下载)
  • 把所有wheel包上传到S3的一个私有路径(比如s3://your-mwaa-bucket/private-wheels/)
  • 修改requirements.txt为:
    --find-links s3://your-mwaa-bucket/private-wheels/
    snowflake-connector-python==3.6.0
    
  • 确保MWAA的执行角色具有该S3路径的s3:GetObject权限(在IAM角色策略中添加对应权限)

4. 验证安装

MWAA环境更新完成后,你可以:

  • 在Airflow UI的Admin > Plugins页面查看是否有snowflake相关组件
  • 编写一个简单的测试DAG,调用snowflake连接器,确认能正常连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:37:06