airflow.providers.google.cloud.hooks.datafusion

此模組包含 Google DataFusion Hook。

模組內容

類別

PipelineStates

Data Fusion 管線狀態。

DataFusionHook

Google DataFusion 的 Hook。

DataFusionAsyncHook

用於取得 DataFusion 非同步 Hook 的類別。

屬性

Operation

FAILURE_STATES

SUCCESS_STATES

airflow.providers.google.cloud.hooks.datafusion.Operation[source]
exception airflow.providers.google.cloud.hooks.datafusion.ConflictException[source]

Bases: airflow.exceptions.AirflowException

用於捕捉 409 錯誤的例外。

class airflow.providers.google.cloud.hooks.datafusion.PipelineStates[source]

Data Fusion 管線狀態。

PENDING = 'PENDING'[source]
STARTING = 'STARTING'[source]
RUNNING = 'RUNNING'[source]
SUSPENDED = 'SUSPENDED'[source]
RESUMING = 'RESUMING'[source]
COMPLETED = 'COMPLETED'[source]
FAILED = 'FAILED'[source]
KILLED = 'KILLED'[source]
REJECTED = 'REJECTED'[source]
airflow.providers.google.cloud.hooks.datafusion.FAILURE_STATES[source]
airflow.providers.google.cloud.hooks.datafusion.SUCCESS_STATES[source]
class airflow.providers.google.cloud.hooks.datafusion.DataFusionHook(api_version='v1beta1', gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Google DataFusion 的 Hook。

wait_for_operation(operation)[source]

等待長時間運行的操作完成。

wait_for_pipeline_state(pipeline_name, pipeline_id, instance_url, pipeline_type=DataFusionPipelineType.BATCH, namespace='default', success_states=None, failure_states=None, timeout=5 * 60)[source]

輪詢管線狀態,如果狀態失敗或超時則引發例外。

get_conn()[source]

檢索與 DataFusion 的連線。

restart_instance(instance_name, location, project_id)[source]

重新啟動單個 Data Fusion 執行個體。

在操作結束時,執行個體將完全重新啟動。

參數
  • instance_name (str) – 要重新啟動的執行個體名稱。

  • location (str) – 處理請求的 Cloud Data Fusion 位置。

  • project_id (str) – 執行個體所屬的 Google Cloud 專案 ID。

delete_instance(instance_name, location, project_id)[source]

刪除單個 Date Fusion 執行個體。

參數
  • instance_name (str) – 要刪除的執行個體名稱。

  • location (str) – 處理請求的 Cloud Data Fusion 位置。

  • project_id (str) – 執行個體所屬的 Google Cloud 專案 ID。

create_instance(instance_name, instance, location, project_id=PROVIDE_PROJECT_ID)[source]

在指定的專案和位置中建立新的 Data Fusion 執行個體。

參數
get_instance(instance_name, location, project_id)[source]

取得單個 Data Fusion 執行個體的詳細資訊。

參數
  • instance_name (str) – 執行個體的名稱。

  • location (str) – 處理請求的 Cloud Data Fusion 位置。

  • project_id (str) – 執行個體所屬的 Google Cloud 專案 ID。

get_instance_artifacts(instance_url, namespace='default', scope='SYSTEM')[source]
patch_instance(instance_name, instance, update_mask, location, project_id=PROVIDE_PROJECT_ID)[source]

更新單個 Data Fusion 執行個體。

參數
create_pipeline(pipeline_name, pipeline, instance_url, namespace='default')[source]

建立批次 Cloud Data Fusion 管線。

參數
delete_pipeline(pipeline_name, instance_url, version_id=None, namespace='default')[source]

刪除批次 Cloud Data Fusion 管線。

參數
  • pipeline_name (str) – 您的管線名稱。

  • version_id (str | None) – 要刪除的管線版本

  • instance_url (str) – 執行個體上可存取 REST API 的端點。

  • namespace (str) – 如果您的管線屬於 Basic 版本執行個體,則命名空間 ID 始終為 default。如果您的管線屬於 Enterprise 版本執行個體,則可以建立命名空間。

list_pipelines(instance_url, artifact_name=None, artifact_version=None, namespace='default')[source]

列出 Cloud Data Fusion 管線。

參數
  • artifact_version (str | None) – 用於篩選執行個體的 Artifact 版本

  • artifact_name (str | None) – 用於篩選執行個體的 Artifact 名稱

  • instance_url (str) – 執行個體上可存取 REST API 的端點。

  • namespace (str) – 如果您的管線屬於 Basic 版本執行個體,則命名空間 ID 始終為 default。如果您的管線屬於 Enterprise 版本執行個體,則可以建立命名空間。

get_pipeline_workflow(pipeline_name, instance_url, pipeline_id, pipeline_type=DataFusionPipelineType.BATCH, namespace='default')[source]
start_pipeline(pipeline_name, instance_url, pipeline_type=DataFusionPipelineType.BATCH, namespace='default', runtime_args=None)[source]

啟動 Cloud Data Fusion 管線。適用於批次和串流管線。

參數
  • pipeline_name (str) – 您的管線名稱。

  • pipeline_type (airflow.providers.google.cloud.utils.datafusion.DataFusionPipelineType) – 選填的管線類型(預設為 BATCH)。

  • instance_url (str) – 執行個體上可存取 REST API 的端點。

  • runtime_args (dict[str, Any] | None) – 要傳遞到管線的選填執行階段 JSON 引數

  • namespace (str) – 如果您的管線屬於 Basic 版本執行個體,則命名空間 ID 始終為 default。如果您的管線屬於 Enterprise 版本執行個體,則可以建立命名空間。

stop_pipeline(pipeline_name, instance_url, namespace='default')[source]

停止 Cloud Data Fusion 管線。適用於批次和串流管線。

參數
  • pipeline_name (str) – 您的管線名稱。

  • instance_url (str) – 執行個體上可存取 REST API 的端點。

  • namespace (str) – 如果您的管線屬於 Basic 版本執行個體,則命名空間 ID 始終為 default。如果您的管線屬於 Enterprise 版本執行個體,則可以建立命名空間。

static cdap_program_type(pipeline_type)[source]

檢索取決於管線類型的 CDAP 程式類型。

參數

pipeline_type (airflow.providers.google.cloud.utils.datafusion.DataFusionPipelineType) – 管線類型。

static cdap_program_id(pipeline_type)[source]

檢索取決於管線類型的 CDAP 程式 ID。

參數

pipeline_type (airflow.providers.google.cloud.utils.datafusion.DataFusionPipelineType) – 管線類型。

class airflow.providers.google.cloud.hooks.datafusion.DataFusionAsyncHook(**kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

用於取得 DataFusion 非同步 Hook 的類別。

sync_hook_class[source]
scopes = ['https://www.googleapis.com/auth/cloud-platform'][source]
async get_pipeline(instance_url, namespace, pipeline_name, pipeline_id, session, pipeline_type=DataFusionPipelineType.BATCH)[source]
async get_pipeline_status(pipeline_name, instance_url, pipeline_id, pipeline_type=DataFusionPipelineType.BATCH, namespace='default', success_states=None)[source]

非同步取得 Cloud Data Fusion 管線狀態。

參數
  • pipeline_name (str) – 您的管線名稱。

  • instance_url (str) – 執行個體上可存取 REST API 的端點。

  • pipeline_id (str) – 與特定管線關聯的唯一管線 ID。

  • pipeline_type (airflow.providers.google.cloud.utils.datafusion.DataFusionPipelineType) – 選填的管線類型(預設為批次)。

  • namespace (str) – 如果您的管線屬於 Basic 版本執行個體,則命名空間 ID 始終為 default。如果您的管線屬於 Enterprise 版本執行個體,則可以建立命名空間。

  • success_states (list[str] | None) – 如果提供,運算子將等待管線處於提供的狀態之一。

此條目是否有幫助?