这个问题意味着Airflow的SFTPHook在使用私钥进行认证时,无法通过密码进行验证。可能的解决方法是确保使用的私钥已正确配置,并且已将公钥添加到远程主机的授权文件中。如果仍然有问题,可以尝试使用其他身份验证方法,如用户名和密码。以下是使用用户名和密码身份验证的示例代码:
from airflow.contrib.hooks import SFTPHook
import os
hook = SFTPHook(ftp_conn_id='my_sftp_conn', username='my_username', password='my_password')
file_path = '/local/file.txt'
remote_path = '/remote/file.txt'
hook.store_file(file_path=file_path, remote_path=remote_path)
注意:要将“my_sftp_conn”连接ID替换为与Airflow管理的实际SFTP连接相关的ID。如需更多信息,请参阅Airflow文档。