airflow.providers.google.cloud.transfers.adls_to_gcs

此模組包含 Azure 資料湖儲存體到 Google 雲端儲存空間的運算子。

模組內容

類別

ADLSToGCSOperator

將 Azure 資料湖儲存體路徑與 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)[source]

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

將 Azure 資料湖儲存體路徑與 GCS 儲存桶同步。

參數
  • src_adls (str) – 要尋找物件的 Azure 資料湖路徑 (已套用範本)

  • dest_gcs (str) – 用於儲存物件的 Google 雲端儲存空間儲存桶和前綴。(已套用範本)

  • replace (bool) – 若為 true,則替換 GCS 中同名的檔案

  • gzip (bool) – 壓縮檔案以上傳的選項

  • azure_data_lake_conn_id (str) – 連接到 Azure 資料湖儲存體時使用的連線 ID。

  • gcp_conn_id (str) – (可選) 用於連接到 Google Cloud 的連線 ID。

  • google_impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的 Google 服務帳戶,用於使用短期憑證模擬身分,或取得列表中最後一個帳戶的 access_token 所需的帳戶鏈結列表,該帳戶將在請求中被模擬身分。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則列表中的身分必須授予緊接在前的身分「服務帳戶權杖建立者」IAM 角色,列表中的第一個帳戶將此角色授予原始帳戶 (已套用範本)。

範例:

以下運算子會將名為 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",
)

以下運算子會將所有 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')[source]
ui_color = '#f0eee4'[source]
execute(context)[source]

在建立運算子時衍生。

Context 是與呈現 jinja 範本時使用的字典相同。

請參閱 get_template_context 以取得更多 context。

此條目是否有幫助?