2024-06-08 09:17:20 发布
网友
如何使用SFTPOperator从SFTP服务器获取多个文件。 我可以用cloudshell中的bash-MGET来实现这一点,但我不知道要多个SFTPOperator来实现气流
你不能。SFTPOperator只能在一个文件或目录上工作。见https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/operators/sftp_operator.py
SFTPOperator
但是,您至少有两个选项:
你可以这样做:
files = [ {'name':'file_name', 'connection': 'sftp_conn_one'}, {'name':'file_name', 'connection': 'sftp_conn_two'}, ] d = DummyOperator(task_id='kick_off_dag') for file in files: task = SFTPOperator( task_id = 'get_{0}'.format(file['name']), ssh_conn_id = file['connection'] ... ) d >> task
这将为您要获取的每个文件生成一个任务。您甚至可以将此文件列表存储在Airflow Variable
你不能。
SFTPOperator
只能在一个文件或目录上工作。见https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/operators/sftp_operator.py但是,您至少有两个选项:
SFTPOperator
并实现自己的多文件获取功能你可以这样做:
这将为您要获取的每个文件生成一个任务。您甚至可以将此文件列表存储在Airflow Variable
相关问题 更多 >
编程相关推荐