3

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

from airflow.contrib.operators.ssh_operator import SSHOperator

似乎 sshoperator 已经在 paramiko 库中定义了,所以我也在 requiremets.txt 文件中添加了以下模块

  • 参数>=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 添加任何额外的库或插件。

4

3 回答 3

0

This command fixed it for me:

pip install apache-airflow-providers-ssh
于 2022-01-30T13:25:09.710 回答
0

我也遇到了这个错误,用下面的命令修复了。

$pip 安装 apache-airflow-backport-providers-ssh( https://pypi.org/project/apache-airflow-backport-providers-ssh/ )

于 2021-11-22T08:52:14.103 回答
0

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

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

看起来这里有 ssh 的反向端口。所以可能只需将其添加到您的 requirements.txt 中?

于 2021-06-16T19:08:00.420 回答