airflow.providers.samba.transfers.gcs_to_samba¶
此模块包含 Google Cloud Storage 到 Samba 的操作符。
属性¶
类¶
将文件从 Google Cloud Storage 存储桶传输到 SMB 服务器。 |
模块内容¶
- class airflow.providers.samba.transfers.gcs_to_samba.GCSToSambaOperator(*, source_bucket, source_object, destination_path, keep_directory_structure=True, move_object=False, gcp_conn_id='google_cloud_default', samba_conn_id='samba_default', impersonation_chain=None, buffer_size=None, **kwargs)[source]¶
基类:
airflow.models.BaseOperator
将文件从 Google Cloud Storage 存储桶传输到 SMB 服务器。
with models.DAG( "example_gcs_to_smb", start_date=datetime(2020, 6, 19), schedule=None, ) as dag: # downloads file to media/folder/subfolder/file.txt copy_file_from_gcs_to_smb = GCSToSambaOperator( task_id="file-copy-gcs-to-smb", source_bucket="test-gcs-sftp-bucket-name", source_object="folder/subfolder/file.txt", destination_path="media", ) # moves file to media/data.txt move_file_from_gcs_to_smb = GCSToSambaOperator( task_id="file-move-gcs-to-smb", source_bucket="test-gcs-sftp-bucket-name", source_object="folder/subfolder/data.txt", destination_path="media", move_object=True, keep_directory_structure=False, )
另请参阅
有关如何使用此操作符的更多信息,请查阅指南:操作符
- 参数:
source_bucket (str) – 源 Google Cloud Storage 存储桶。(可使用模板)
source_object (str) – 要在 Google Cloud Storage 存储桶中复制的对象的源名称。(可使用模板)您只能在存储桶内的对象(文件名)中使用一个通配符。通配符可以出现在对象名称内部或对象名称末尾。不支持将通配符附加到存储桶名称后。
destination_path (str) – SMB 远程路径。这是 SMB 共享名中指定的目录路径,用于将文件上传到 SMB 服务器。
keep_directory_structure (bool) – (可选) 当设置为 False 时,将在 destination_path 中重新创建存储桶中文件的路径。
move_object (bool) – 当 move object 为 True 时,对象将被移动而不是复制到新位置。这相当于 mv 命令,而不是 cp 命令。
gcp_conn_id (str) – (可选) 用于连接到 Google Cloud 的连接 ID。
samba_conn_id (str) – SMB 连接 ID。用于建立与 SMB 服务器连接的名称或标识符。
impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或获取列表中最后一个账号的 access_token 所需的链式账号列表,该 access_token 将在请求中被模拟。如果设置为字符串,则发起账号必须授予目标账号“服务账号令牌创建者 (Service Account Token Creator)”IAM 角色。如果设置为序列,则列表中的身份必须授予直接前一个身份“服务账号令牌创建者”IAM 角色,列表中的第一个账号将此角色授予发起账号。(可使用模板)
buffer_size (int | None) – 可选地指定发送到 Samba 的块大小(以字节为单位)。较大的缓冲区长度可能会减少上传大文件所需的时间。默认长度由 shutil 确定,为 64 KB。
- template_fields: collections.abc.Sequence[str] = ('source_bucket', 'source_object', 'destination_path', 'impersonation_chain')¶
- ui_color = '#f0eee4'¶
- source_bucket¶
- source_object¶
- destination_path¶
- keep_directory_structure = True¶
- move_object = False¶
- gcp_conn_id = 'google_cloud_default'¶
- samba_conn_id = 'samba_default'¶
- impersonation_chain = None¶
- sftp_dirs = None¶
- buffer_size = None¶
- execute(context)¶
创建操作符时派生。
Context 是与渲染 Jinja 模板时使用的字典相同。
请参阅 get_template_context 以获取更多上下文。