Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform SFTPoperator获取多个文件_Google Cloud Platform_Airflow - Fatal编程技术网

Google cloud platform SFTPoperator获取多个文件

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'

如何使用SFTPOperator从SFTP服务器获取多个文件。
我可以在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