airflow.providers.samba.transfers.gcs_to_samba

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

模块内容

GCSToSambaOperator

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

属性

WILDCARD

airflow.providers.samba.transfers.gcs_to_samba.WILDCARD = '*'[源代码]
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)[源代码]

基类: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 的帐户链表,该帐户将在请求中被模拟。 如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”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'[源代码]
execute(context)[源代码]

在创建操作符时派生。

上下文与渲染 jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

此条目是否有帮助?