python - FTPSHook Airflow(数据通道需要 522 SSL/TLS)
问题描述
我正在尝试使用 FTPSHook 通过 FTP TLS/SSL 显式加密发送文件。这是我的代码
remote_filepath=pathfile
local_filepath=pathfile2
hook = FTPSHook(ftp_conn_id='ftp_test')
hook.store_file(remote_filepath, local_filepath)
运行 DAG 时出现此错误:
522 数据通道需要 SSL/TLS
以前有人做过吗?如何确保与 的连接FTPSHook
?
解决方案
默认情况下,ftplib(用于 FTP(S) 的底层实现FTPSHook
)不加密 FTP 数据连接。要启用它,您必须调用FTP_TLS.prot_p()
. 使用FTPSHook
API,您可以这样做:
hook = FTPSHook(ftp_conn_id='ftp_test')
hook.get_conn().prot_p()
推荐阅读
- javascript - 当数据表中特定列的结果为空时自动隐藏行?
- javascript - 如何在选中或未选中复选框的基础上添加/删除项目?
- enterprise-architect - 使用 SQL 在 Sparx EA 中检索当前选定的对象
- python - 如何在 Visual Studio 中禁用 pydev 调试器?
- regex - 使用 ANT 在下划线之前分隔字符串值的正则表达式
- data-binding - Kotlin CustomView 2 路数据绑定
- reactjs - 未定义不是对象 this.props.navigation - 反应原生
- javascript - 闪亮:insertUI 之前使用 removeUI 删除了 id
- javascript - 当我在最后一张幻灯片上单击下一张/上一张时自动播放幻灯片空白幻灯片
- r - 无法解决此矩阵