airflow.providers.samba.transfers.gcs_to_samba

此模块包含 Google Cloud Storage 到 Samba 的操作符。

属性

WILDCARD

GCSToSambaOperator

将文件从 Google Cloud Storage 存储桶传输到 SMB 服务器。

模块内容

airflow.providers.samba.transfers.gcs_to_samba.WILDCARD = '*'[source]
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 以获取更多上下文。

此条目有帮助吗?