airflow.providers.google.cloud.transfers.gcs_to_sftp¶
此模块包含 Google Cloud Storage 到 SFTP 的操作符。
属性¶
类¶
将文件从 Google Cloud Storage 存储桶传输到 SFTP 服务器。 |
模块内容¶
- class airflow.providers.google.cloud.transfers.gcs_to_sftp.GCSToSFTPOperator(*, source_bucket, source_object, destination_path, keep_directory_structure=True, create_intermediate_dirs=True, move_object=False, gcp_conn_id='google_cloud_default', sftp_conn_id='ssh_default', impersonation_chain=None, **kwargs)[source]¶
Bases:
airflow.providers.google.version_compat.BaseOperator将文件从 Google Cloud Storage 存储桶传输到 SFTP 服务器。
with models.DAG( "example_gcs_to_sftp", start_date=datetime(2020, 6, 19), schedule=None, ) as dag: # downloads file to /tmp/sftp/folder/subfolder/file.txt copy_file_from_gcs_to_sftp = GCSToSFTPOperator( task_id="file-copy-gsc-to-sftp", source_bucket="test-gcs-sftp-bucket-name", source_object="folder/subfolder/file.txt", destination_path="/tmp/sftp", ) # moves file to /tmp/data.txt move_file_from_gcs_to_sftp = GCSToSFTPOperator( task_id="file-move-gsc-to-sftp", source_bucket="test-gcs-sftp-bucket-name", source_object="folder/subfolder/data.txt", destination_path="/tmp", move_object=True, keep_directory_structure=False, )
另请参阅
有关如何使用此操作符的更多信息,请阅读指南: 操作符
- 参数:
source_bucket (str) – 对象所在的源 Google Cloud Storage 存储桶。(templated)
source_object (str) – 要在 Google Cloud Storage 存储桶中复制的对象的源名称。(templated) 您只能在桶内的对象(文件名)使用一个通配符。通配符可以出现在对象名称内部或对象名称的末尾。将通配符附加到桶名称上不受支持。
destination_path (str) – SFTP 远程路径。这是上传到 SFTP 服务器时指定的目录路径。
keep_directory_structure (bool) – (可选)设置为 False 时,存储桶中文件的路径会在
destination_path提供的路径内重新创建。create_intermediate_dirs (bool) – (可选)设置为 True 时,将创建指定文件路径中的中间目录。
move_object (bool) – 当 move_object 为 True 时,对象将被移动而不是复制到新位置。这相当于 mv 命令,而非 cp 命令。
gcp_conn_id (str) – (可选)用于连接 Google Cloud 的连接 ID。
sftp_conn_id (str) – SFTP 连接 ID。用于建立到 SFTP 服务器的连接的名称或标识符。
impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于通过短期凭证进行模拟,或是一系列账户的链表,需要获取列表中最后一个账户的
access_token,该账户将在请求中被模拟。如果设置为字符串,则该账户必须授予来源账户 “Service Account Token Creator” IAM 角色。如果设置为序列,则列表中的身份必须将 “Service Account Token Creator” IAM 角色授予其直接前面的身份,列表中的第一个账户授予此角色给来源账户(支持模板)。
- template_fields: collections.abc.Sequence[str] = ('source_bucket', 'source_object', 'destination_path', 'impersonation_chain')[source]¶