2017-12-18 3 views
0

Airflow v1.9rc5의 sftp_operator를 사용하고 있습니다. 나는 SFTP를 통해 두 개의 파일을 가져 오기 위해 노력하고있어하지만 난 받고 있어요 :Apache Airflow SFTP를 통해 파일을 가져올 수 없습니다.

ERROR - 호스트에 연결 실패 : 192.168.56.101, 오류 : 자료 없음 인증 방법 내가 접속 ID이에 설정 한

원격 호스트. 또한 SFTP 명령을 사용하여 BASH의 연결을 확인했습니다.

sftp = SFTPOperator(
     task_id='fetch_data', 
     ssh_conn_id='sftpid2', 
     local_filepath='/Users', 
     remote_filepath='/', 
     operation=SFTPOperation.GET, 
     dag=dag 
     ) 
+0

[아파치 에어 플로가 FTP/SFTP를 통해 원격 호스트에 연결할 수 없습니다.] (https://stackoverflow.com/q/46307762/3776858) – Cyrus

+0

고맙습니다. 예를 들어 보았습니다. 나는 아직도 왜이 오류가 발생하는지 알 수 없다. –

+0

UID 및 PW 대신 SSH 키를 사용하여 SFTP를 작동시킬 수있었습니다. 연결 ID와 함께 SSH 키를 사용하려면 연결 정의의 추가 필드에서 키의 경로를 설정해야합니다. { "key_file": "/ KEY로/PATH/KEYNAME_rsa"} 키를 암호로 보호 할 수 없습니다. 또한 Airflow v1.9rc5를 사용하여 추가 필드를 업데이트하는 데 문제가있었습니다. 키 경로를 추가하려고 할 때 "잘못된 패딩"이라는 오류 메시지가 나타납니다. 다시 v1.8로 되돌리고 나서 v1.9를 다시 실행해야합니다. SSH 키가 현재 지원되는 유일한 방법인지 잘 모르겠습니다. –

답변

0

문제는 UI가 연결 ID에 대한 데이터베이스에서 암호 필드를 업데이트하지 않은 것입니다 :

FTP 작업을 가져옵니다. 그래서 사용자 ID와 PW를 사용하여 SFTP를 시도하면 실패하게됩니다. 해당 레코드에서 암호 필드를 업데이트하면 모든 것이 예상대로 작동합니다. 따라서 SFTP는 SSH 키 또는 UID와 PW와 함께 작동합니다.

관련 문제