airflow.providers.google.cloud.hooks.datafusion
¶
此模块包含 Google DataFusion 钩子。
模块内容¶
类¶
Data Fusion 管道状态。 |
|
用于 Google DataFusion 的钩子。 |
|
用于获取 DataFusion 的异步钩子的类。 |
属性¶
- exception airflow.providers.google.cloud.hooks.datafusion.ConflictException[源代码]¶
基类:
airflow.exceptions.AirflowException
捕获 409 错误的异常。
- class airflow.providers.google.cloud.hooks.datafusion.DataFusionHook(api_version='v1beta1', gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[源代码]¶
基类:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook
用于 Google DataFusion 的钩子。
- 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)[源代码]¶
轮询管道状态,如果状态失败或超时则引发异常。
- restart_instance(instance_name, location, project_id)[源代码]¶
重启单个 Data Fusion 实例。
在操作结束时,实例将完全重启。
- 参数
instance_name (str) – 要重启的实例的名称。
location (str) – 用于处理请求的 Cloud Data Fusion 位置。
project_id (str) – 实例所属的 Google Cloud 项目的 ID。
- delete_instance(instance_name, location, project_id)[源代码]¶
删除单个 Data 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)[源代码]¶
在指定的项目和位置中创建新的 Data Fusion 实例。
- 参数
instance_name (str) – 要创建的实例的名称。
instance (dict[str, Any]) – Instance 的一个实例。 https://cloud.google.com/data-fusion/docs/reference/rest/v1beta1/projects.locations.instances#Instance
location (str) – 用于处理请求的 Cloud Data Fusion 位置。
project_id (str) – 实例所属的 Google Cloud 项目的 ID。
- get_instance(instance_name, location, project_id)[源代码]¶
获取单个 Data Fusion 实例的详细信息。
- 参数
instance_name (str) – 实例的名称。
location (str) – 用于处理请求的 Cloud Data Fusion 位置。
project_id (str) – 实例所属的 Google Cloud 项目的 ID。
- patch_instance(instance_name, instance, update_mask, location, project_id=PROVIDE_PROJECT_ID)[源代码]¶
更新单个 Data Fusion 实例。
- 参数
instance_name (str) – 要创建的实例的名称。
instance (dict[str, Any]) – Instance 的一个实例。 https://cloud.google.com/data-fusion/docs/reference/rest/v1beta1/projects.locations.instances#Instance
update_mask (str) – 字段掩码用于指定更新将覆盖实例资源中的哪些字段。updateMask 中指定的字段是相对于资源而言的,而不是完整请求。如果某个字段在掩码中,则该字段将被覆盖。如果用户没有提供掩码,则所有支持的字段(当前为标签和选项)都将被覆盖。一个以逗号分隔的字段的完全限定名称列表。示例:“user.displayName,photo”。 https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?_ga=2.205612571.-968688242.1573564810#google.protobuf.FieldMask
location (str) – 用于处理请求的 Cloud Data Fusion 位置。
project_id (str) – 实例所属的 Google Cloud 项目的 ID。
- create_pipeline(pipeline_name, pipeline, instance_url, namespace='default')[源代码]¶
创建一个批处理 Cloud Data Fusion 管道。
- 参数
pipeline_name (str) – 您的管道名称。
pipeline (dict[str, Any]) – 管道定义。有关详细信息,请查看: https://docs.cdap.io/cdap/current/en/developer-manual/pipelines/developing-pipelines.html#pipeline-configuration-file-format
instance_url (str) – 实例可访问 REST API 的端点。
namespace (str) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。
- delete_pipeline(pipeline_name, instance_url, version_id=None, namespace='default')[源代码]¶
删除一个批处理 Cloud Data Fusion 管道。
- 参数
pipeline_name (str) – 您的管道名称。
version_id (str | None) – 要删除的管道版本
instance_url (str) – 实例可访问 REST API 的端点。
namespace (str) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。
- list_pipelines(instance_url, artifact_name=None, artifact_version=None, namespace='default')[源代码]¶
列出 Cloud Data Fusion 管道。
- 参数
artifact_version (str | None) – 用于筛选实例的构件版本
artifact_name (str | None) – 用于筛选实例的构件名称
instance_url (str) – 实例可访问 REST API 的端点。
namespace (str) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。
- 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 的端点。
namespace (str) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。
- stop_pipeline(pipeline_name, instance_url, namespace='default')[source]¶
停止 Cloud Data Fusion 管道。适用于批处理和流式管道。
- 参数
pipeline_name (str) – 您的管道名称。
instance_url (str) – 实例可访问 REST API 的端点。
namespace (str) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。
- 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]¶
基类:
airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook
用于获取 DataFusion 的异步钩子的类。
- 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) – 如果您的管道属于基本版实例,则命名空间 ID 始终为 default。如果您的管道属于企业版实例,则可以创建一个命名空间。