AWS Airflow (Amazon MWAA) 上没有名为“airflow.providers.ssh”的模块

Sam*_*Sam 7 airflow mwaa

我需要在 AWS Airflow (Amazon MWAA) 上的 DAG 中使用 sshoperator,因此我在 DAG 文件中导入了以下库

from airflow.contrib.operators.ssh_operator import SSHOperator
Run Code Online (Sandbox Code Playgroud)

似乎 sshoperator 已在 paramiko 库中定义,因此我也将以下模块添加到 requiremets.txt 文件中

  • 帕里科>=2.6.0
  • pysftp>=0.2.9
  • ssh隧道>=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'
Run Code Online (Sandbox Code Playgroud)

我的理解是 sshoperator 是 Airflow 中必不可少的内置运算符,因此从技术上讲,我不应该向 Airflow 添加任何额外的库或插件。

Ara*_*NSR 5

这个命令为我解决了这个问题:

pip install apache-airflow-providers-ssh
Run Code Online (Sandbox Code Playgroud)


ET *_*ack 0

正在研究类似的东西,并相信我找到了我们两个问题的答案......根据Docker Questions ......

Airflow 中不再包含 Providers 包,但您可以使用特定的反向移植包通过 pip 单独安装它们

看起来这里有 ssh 的向后移植。那么可能只需将其添加到您的requirements.txt 中?