Google cloud platform SFTPoperator获取多个文件
如何使用SFTPOperator从SFTP服务器获取多个文件。Google cloud platform SFTPoperator获取多个文件,google-cloud-platform,airflow,Google Cloud Platform,Airflow,如何使用SFTPOperator从SFTP服务器获取多个文件。 我可以在cloud shell中使用bash MGET来实现这一点,但我不知道多个SFTPOperator来实现气流你不能SFTPOperator仅在单个文件或目录上工作。看 但是,您至少有两种选择: 创建多个任务,每个任务下载一个文件 子类SFTPOperator,并实现您自己的多文件获取功能 您可以这样做: files = [ {'name':'file_name', 'connection': 'sftp_conn_one'
我可以在cloud shell中使用bash MGET来实现这一点,但我不知道多个SFTPOperator来实现气流你不能
SFTPOperator
仅在单个文件或目录上工作。看
但是,您至少有两种选择:
- 创建多个任务,每个任务下载一个文件
- 子类
,并实现您自己的多文件获取功能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
这将为您要获取的每个文件生成一个任务。您甚至可以将此文件列表存储在中。您可以使用
PythonOperator
和