airflow.providers.google.cloud.transfers.adls_to_gcs

此模块包含 Azure Data Lake Storage 到 Google Cloud Storage 的 Operator。

ADLSToGCSOperator

将 Azure Data Lake Storage 路径与 GCS 存储桶同步。

模块内容

class airflow.providers.google.cloud.transfers.adls_to_gcs.ADLSToGCSOperator(*, src_adls, dest_gcs, azure_data_lake_conn_id, gcp_conn_id='google_cloud_default', replace=False, gzip=False, google_impersonation_chain=None, **kwargs)[源代码]

基类: airflow.providers.microsoft.azure.operators.adls.ADLSListOperator

将 Azure Data Lake Storage 路径与 GCS 存储桶同步。

参数:
  • src_adls (str) – 查找对象的 Azure Data Lake 路径(可模板化)

  • dest_gcs (str) – 存储对象的 Google Cloud Storage 存储桶和前缀。(可模板化)

  • replace (bool) – 如果为 true,则替换 GCS 中同名的文件

  • gzip (bool) – 上传文件时压缩选项

  • azure_data_lake_conn_id (str) – 连接到 Azure Data Lake Storage 时使用的连接 ID。

  • gcp_conn_id (str) – (可选)连接到 Google Cloud 时使用的连接 ID。

  • google_impersonation_chain (str | collections.abc.Sequence[str] | None) – 要使用短期凭据模拟的可选 Google 服务帐号,或者获取列表中最后一个帐号的 access_token 所需的帐号链,将在请求中模拟该帐号。如果设置为字符串,则该帐号必须授予发起帐号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向直接前一个身份授予 Service Account Token Creator IAM 角色,列表中第一个帐号向发起帐号授予此角色(可模板化)。

示例:

以下 Operator 将单个文件(名为 hello/world.avro)从 ADLS 复制到 GCS 存储桶 mybucket。其完整的最终 gcs 路径将是 gs://mybucket/hello/world.avro

copy_single_file = AdlsToGoogleCloudStorageOperator(
    task_id="copy_single_file",
    src_adls="hello/world.avro",
    dest_gcs="gs://mybucket",
    replace=False,
    azure_data_lake_conn_id="azure_data_lake_default",
    gcp_conn_id="google_cloud_default",
)

以下 Operator 将所有 parquet 文件从 ADLS 复制到 GCS 存储桶 mybucket

   copy_all_files = AdlsToGoogleCloudStorageOperator(
       task_id='copy_all_files',
       src_adls='*.parquet',
       dest_gcs='gs://mybucket',
       replace=False,
       azure_data_lake_conn_id='azure_data_lake_default',
       gcp_conn_id='google_cloud_default'
   )

The following Operator would copy all parquet files from ADLS
path ``/hello/world``to the GCS bucket ``mybucket``. ::

   copy_world_files = AdlsToGoogleCloudStorageOperator(
       task_id='copy_world_files',
       src_adls='hello/world/*.parquet',
       dest_gcs='gs://mybucket',
       replace=False,
       azure_data_lake_conn_id='azure_data_lake_default',
       gcp_conn_id='google_cloud_default'
   )
template_fields: collections.abc.Sequence[str] = ('src_adls', 'dest_gcs', 'google_impersonation_chain')[源代码]
ui_color = '#f0eee4'[源代码]
src_adls[源代码]
dest_gcs[源代码]
replace = False[源代码]
gcp_conn_id = 'google_cloud_default'[源代码]
gzip = False[源代码]
google_impersonation_chain = None[源代码]
execute(context)[源代码]

创建 Operator 时派生。

Context 是与渲染 jinja 模板时使用的相同的字典。

有关更多 context,请参阅 get_template_context。

此条目有帮助吗?