如何解决AWS Airflow (Amazon MWAA) 上没有名为“airflow.providers.ssh”的模块
我需要在 AWS Airflow (Amazon MWAA) 上的 DAG 中使用 sshoperator,因此我在我的 DAG 文件中导入了以下库
from airflow.contrib.operators.ssh_operator import SSHOperator
看来 paramiko 库中已经定义了 sshoperator,所以我也在 requiremets.txt 文件中添加了以下模块
- paramiko>=2.6.0
- pysftp>=0.2.9
- sshtunnel>=0.1.4
但是,当我浏览 DAG 时仍然出现以下错误
broken DAG:
File "/usr/local/lib/python3.7/site-packages/airflow/contrib/operators/ssh_operator.py",line from airflow.providers.ssh.operators.ssh import SSHOperator
ModuleNotFoundError: No module named 'airflow.providers.ssh'
我的理解是 sshoperator 是 Airflow 中必不可少的内置操作符,所以从技术上讲,我不应该向 Airflow 添加任何额外的库或插件。
解决方法
正在研究类似的东西并相信我找到了我们两个问题的答案...根据 Docker Questions...
Providers 包不再包含在 Airflow 中,但您可以使用特定的 backport 包通过 pip 单独安装它们
看起来 ssh here 有一个反向移植。所以可能只需要将它添加到您的 requirements.txt 中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。