apache-airflow-providers-google 12.0.0rc2__py3-none-any.whl → 14.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/google/LICENSE +0 -52
- airflow/providers/google/__init__.py +1 -1
- airflow/providers/google/ads/hooks/ads.py +27 -13
- airflow/providers/google/ads/transfers/ads_to_gcs.py +18 -4
- airflow/providers/google/assets/bigquery.py +17 -0
- airflow/providers/google/cloud/_internal_client/secret_manager_client.py +2 -3
- airflow/providers/google/cloud/hooks/alloy_db.py +736 -8
- airflow/providers/google/cloud/hooks/automl.py +10 -4
- airflow/providers/google/cloud/hooks/bigquery.py +125 -22
- airflow/providers/google/cloud/hooks/bigquery_dts.py +8 -8
- airflow/providers/google/cloud/hooks/bigtable.py +2 -3
- airflow/providers/google/cloud/hooks/cloud_batch.py +3 -4
- airflow/providers/google/cloud/hooks/cloud_build.py +4 -5
- airflow/providers/google/cloud/hooks/cloud_composer.py +3 -4
- airflow/providers/google/cloud/hooks/cloud_memorystore.py +3 -4
- airflow/providers/google/cloud/hooks/cloud_run.py +3 -4
- airflow/providers/google/cloud/hooks/cloud_sql.py +7 -3
- airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +119 -7
- airflow/providers/google/cloud/hooks/compute.py +3 -3
- airflow/providers/google/cloud/hooks/datacatalog.py +3 -4
- airflow/providers/google/cloud/hooks/dataflow.py +12 -12
- airflow/providers/google/cloud/hooks/dataform.py +2 -3
- airflow/providers/google/cloud/hooks/datafusion.py +2 -2
- airflow/providers/google/cloud/hooks/dataplex.py +1032 -11
- airflow/providers/google/cloud/hooks/dataproc.py +4 -5
- airflow/providers/google/cloud/hooks/dataproc_metastore.py +3 -4
- airflow/providers/google/cloud/hooks/dlp.py +3 -4
- airflow/providers/google/cloud/hooks/gcs.py +7 -6
- airflow/providers/google/cloud/hooks/kms.py +2 -3
- airflow/providers/google/cloud/hooks/kubernetes_engine.py +8 -8
- airflow/providers/google/cloud/hooks/life_sciences.py +1 -1
- airflow/providers/google/cloud/hooks/managed_kafka.py +482 -0
- airflow/providers/google/cloud/hooks/natural_language.py +2 -3
- airflow/providers/google/cloud/hooks/os_login.py +2 -3
- airflow/providers/google/cloud/hooks/pubsub.py +6 -6
- airflow/providers/google/cloud/hooks/secret_manager.py +2 -3
- airflow/providers/google/cloud/hooks/spanner.py +2 -2
- airflow/providers/google/cloud/hooks/speech_to_text.py +2 -3
- airflow/providers/google/cloud/hooks/stackdriver.py +4 -4
- airflow/providers/google/cloud/hooks/tasks.py +3 -4
- airflow/providers/google/cloud/hooks/text_to_speech.py +2 -3
- airflow/providers/google/cloud/hooks/translate.py +236 -5
- airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +9 -4
- airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +3 -4
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +4 -5
- airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +3 -4
- airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +2 -3
- airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py +3 -4
- airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +1 -181
- airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +3 -4
- airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +2 -3
- airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +3 -4
- airflow/providers/google/cloud/hooks/vertex_ai/prediction_service.py +2 -3
- airflow/providers/google/cloud/hooks/video_intelligence.py +2 -3
- airflow/providers/google/cloud/hooks/vision.py +3 -4
- airflow/providers/google/cloud/hooks/workflows.py +2 -3
- airflow/providers/google/cloud/links/alloy_db.py +46 -0
- airflow/providers/google/cloud/links/bigquery.py +25 -0
- airflow/providers/google/cloud/links/dataplex.py +172 -2
- airflow/providers/google/cloud/links/kubernetes_engine.py +1 -2
- airflow/providers/google/cloud/links/managed_kafka.py +104 -0
- airflow/providers/google/cloud/links/translate.py +28 -0
- airflow/providers/google/cloud/log/gcs_task_handler.py +3 -3
- airflow/providers/google/cloud/log/stackdriver_task_handler.py +11 -10
- airflow/providers/google/cloud/openlineage/facets.py +67 -0
- airflow/providers/google/cloud/openlineage/mixins.py +438 -173
- airflow/providers/google/cloud/openlineage/utils.py +394 -61
- airflow/providers/google/cloud/operators/alloy_db.py +980 -69
- airflow/providers/google/cloud/operators/automl.py +83 -245
- airflow/providers/google/cloud/operators/bigquery.py +377 -74
- airflow/providers/google/cloud/operators/bigquery_dts.py +126 -13
- airflow/providers/google/cloud/operators/bigtable.py +1 -3
- airflow/providers/google/cloud/operators/cloud_base.py +1 -2
- airflow/providers/google/cloud/operators/cloud_batch.py +2 -4
- airflow/providers/google/cloud/operators/cloud_build.py +3 -5
- airflow/providers/google/cloud/operators/cloud_composer.py +5 -7
- airflow/providers/google/cloud/operators/cloud_memorystore.py +4 -6
- airflow/providers/google/cloud/operators/cloud_run.py +6 -5
- airflow/providers/google/cloud/operators/cloud_sql.py +20 -8
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +62 -8
- airflow/providers/google/cloud/operators/compute.py +3 -4
- airflow/providers/google/cloud/operators/datacatalog.py +9 -11
- airflow/providers/google/cloud/operators/dataflow.py +1 -112
- airflow/providers/google/cloud/operators/dataform.py +3 -5
- airflow/providers/google/cloud/operators/datafusion.py +1 -1
- airflow/providers/google/cloud/operators/dataplex.py +2046 -7
- airflow/providers/google/cloud/operators/dataproc.py +102 -17
- airflow/providers/google/cloud/operators/dataproc_metastore.py +7 -9
- airflow/providers/google/cloud/operators/dlp.py +17 -19
- airflow/providers/google/cloud/operators/gcs.py +14 -17
- airflow/providers/google/cloud/operators/kubernetes_engine.py +2 -2
- airflow/providers/google/cloud/operators/managed_kafka.py +788 -0
- airflow/providers/google/cloud/operators/natural_language.py +3 -5
- airflow/providers/google/cloud/operators/pubsub.py +39 -7
- airflow/providers/google/cloud/operators/speech_to_text.py +3 -5
- airflow/providers/google/cloud/operators/stackdriver.py +3 -5
- airflow/providers/google/cloud/operators/tasks.py +4 -6
- airflow/providers/google/cloud/operators/text_to_speech.py +2 -4
- airflow/providers/google/cloud/operators/translate.py +414 -5
- airflow/providers/google/cloud/operators/translate_speech.py +2 -4
- airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +9 -8
- airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +4 -6
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +6 -8
- airflow/providers/google/cloud/operators/vertex_ai/dataset.py +4 -6
- airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +4 -6
- airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +0 -322
- airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +4 -6
- airflow/providers/google/cloud/operators/vertex_ai/model_service.py +4 -6
- airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +4 -6
- airflow/providers/google/cloud/operators/video_intelligence.py +3 -5
- airflow/providers/google/cloud/operators/vision.py +4 -6
- airflow/providers/google/cloud/operators/workflows.py +5 -7
- airflow/providers/google/cloud/secrets/secret_manager.py +1 -2
- airflow/providers/google/cloud/sensors/bigquery_dts.py +3 -5
- airflow/providers/google/cloud/sensors/bigtable.py +2 -3
- airflow/providers/google/cloud/sensors/cloud_composer.py +32 -8
- airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +39 -1
- airflow/providers/google/cloud/sensors/dataplex.py +4 -6
- airflow/providers/google/cloud/sensors/dataproc.py +2 -3
- airflow/providers/google/cloud/sensors/dataproc_metastore.py +1 -2
- airflow/providers/google/cloud/sensors/gcs.py +2 -4
- airflow/providers/google/cloud/sensors/pubsub.py +2 -3
- airflow/providers/google/cloud/sensors/workflows.py +3 -5
- airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +5 -5
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +10 -12
- airflow/providers/google/cloud/transfers/gcs_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/gcs_to_sftp.py +36 -4
- airflow/providers/google/cloud/transfers/mssql_to_gcs.py +27 -2
- airflow/providers/google/cloud/transfers/mysql_to_gcs.py +27 -2
- airflow/providers/google/cloud/transfers/postgres_to_gcs.py +27 -2
- airflow/providers/google/cloud/transfers/sftp_to_gcs.py +34 -5
- airflow/providers/google/cloud/transfers/sql_to_gcs.py +15 -0
- airflow/providers/google/cloud/transfers/trino_to_gcs.py +25 -2
- airflow/providers/google/cloud/triggers/bigquery_dts.py +1 -2
- airflow/providers/google/cloud/triggers/cloud_batch.py +1 -2
- airflow/providers/google/cloud/triggers/cloud_build.py +1 -2
- airflow/providers/google/cloud/triggers/cloud_composer.py +13 -3
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +102 -4
- airflow/providers/google/cloud/triggers/dataflow.py +2 -3
- airflow/providers/google/cloud/triggers/dataplex.py +1 -2
- airflow/providers/google/cloud/triggers/dataproc.py +2 -3
- airflow/providers/google/cloud/triggers/kubernetes_engine.py +1 -1
- airflow/providers/google/cloud/triggers/pubsub.py +1 -2
- airflow/providers/google/cloud/triggers/vertex_ai.py +7 -8
- airflow/providers/google/cloud/utils/credentials_provider.py +15 -8
- airflow/providers/google/cloud/utils/external_token_supplier.py +1 -0
- airflow/providers/google/common/auth_backend/google_openid.py +4 -4
- airflow/providers/google/common/consts.py +1 -2
- airflow/providers/google/common/hooks/base_google.py +8 -7
- airflow/providers/google/get_provider_info.py +186 -134
- airflow/providers/google/marketing_platform/hooks/analytics_admin.py +2 -3
- airflow/providers/google/marketing_platform/hooks/search_ads.py +1 -1
- airflow/providers/google/marketing_platform/operators/analytics_admin.py +5 -7
- {apache_airflow_providers_google-12.0.0rc2.dist-info → apache_airflow_providers_google-14.0.0.dist-info}/METADATA +41 -58
- {apache_airflow_providers_google-12.0.0rc2.dist-info → apache_airflow_providers_google-14.0.0.dist-info}/RECORD +157 -159
- airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py +0 -141
- airflow/providers/google/cloud/example_dags/example_looker.py +0 -64
- airflow/providers/google/cloud/example_dags/example_presto_to_gcs.py +0 -194
- airflow/providers/google/cloud/example_dags/example_salesforce_to_gcs.py +0 -129
- airflow/providers/google/marketing_platform/example_dags/__init__.py +0 -16
- airflow/providers/google/marketing_platform/example_dags/example_display_video.py +0 -213
- {apache_airflow_providers_google-12.0.0rc2.dist-info → apache_airflow_providers_google-14.0.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_google-12.0.0rc2.dist-info → apache_airflow_providers_google-14.0.0.dist-info}/entry_points.txt +0 -0
@@ -28,7 +28,7 @@ from typing import TYPE_CHECKING, Any
|
|
28
28
|
from googleapiclient.errors import HttpError
|
29
29
|
|
30
30
|
from airflow.configuration import conf
|
31
|
-
from airflow.exceptions import AirflowException
|
31
|
+
from airflow.exceptions import AirflowException
|
32
32
|
from airflow.providers.google.cloud.hooks.dataflow import (
|
33
33
|
DEFAULT_DATAFLOW_LOCATION,
|
34
34
|
DataflowHook,
|
@@ -40,7 +40,6 @@ from airflow.providers.google.cloud.triggers.dataflow import (
|
|
40
40
|
TemplateJobStartTrigger,
|
41
41
|
)
|
42
42
|
from airflow.providers.google.common.consts import GOOGLE_DEFAULT_DEFERRABLE_METHOD_NAME
|
43
|
-
from airflow.providers.google.common.deprecated import deprecated
|
44
43
|
from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID
|
45
44
|
|
46
45
|
if TYPE_CHECKING:
|
@@ -654,116 +653,6 @@ class DataflowStartFlexTemplateOperator(GoogleCloudBaseOperator):
|
|
654
653
|
)
|
655
654
|
|
656
655
|
|
657
|
-
@deprecated(
|
658
|
-
planned_removal_date="January 31, 2025",
|
659
|
-
use_instead="DataflowStartYamlJobOperator",
|
660
|
-
category=AirflowProviderDeprecationWarning,
|
661
|
-
)
|
662
|
-
class DataflowStartSqlJobOperator(GoogleCloudBaseOperator):
|
663
|
-
"""
|
664
|
-
Starts Dataflow SQL query.
|
665
|
-
|
666
|
-
.. seealso::
|
667
|
-
For more information on how to use this operator, take a look at the guide:
|
668
|
-
:ref:`howto/operator:DataflowStartSqlJobOperator`
|
669
|
-
|
670
|
-
.. warning::
|
671
|
-
This operator requires ``gcloud`` command (Google Cloud SDK) must be installed on the Airflow worker
|
672
|
-
<https://cloud.google.com/sdk/docs/install>`__
|
673
|
-
|
674
|
-
:param job_name: The unique name to assign to the Cloud Dataflow job.
|
675
|
-
:param query: The SQL query to execute.
|
676
|
-
:param options: Job parameters to be executed. It can be a dictionary with the following keys.
|
677
|
-
|
678
|
-
For more information, look at:
|
679
|
-
`https://cloud.google.com/sdk/gcloud/reference/beta/dataflow/sql/query
|
680
|
-
<gcloud beta dataflow sql query>`__
|
681
|
-
command reference
|
682
|
-
|
683
|
-
:param location: The location of the Dataflow job (for example europe-west1)
|
684
|
-
:param project_id: The ID of the GCP project that owns the job.
|
685
|
-
If set to ``None`` or missing, the default project_id from the GCP connection is used.
|
686
|
-
:param gcp_conn_id: The connection ID to use connecting to Google Cloud
|
687
|
-
Platform.
|
688
|
-
:param drain_pipeline: Optional, set to True if want to stop streaming job by draining it
|
689
|
-
instead of canceling during killing task instance. See:
|
690
|
-
https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline
|
691
|
-
:param impersonation_chain: Optional service account to impersonate using short-term
|
692
|
-
credentials, or chained list of accounts required to get the access_token
|
693
|
-
of the last account in the list, which will be impersonated in the request.
|
694
|
-
If set as a string, the account must grant the originating account
|
695
|
-
the Service Account Token Creator IAM role.
|
696
|
-
If set as a sequence, the identities from the list must grant
|
697
|
-
Service Account Token Creator IAM role to the directly preceding identity, with first
|
698
|
-
account from the list granting this role to the originating account (templated).
|
699
|
-
"""
|
700
|
-
|
701
|
-
template_fields: Sequence[str] = (
|
702
|
-
"job_name",
|
703
|
-
"query",
|
704
|
-
"options",
|
705
|
-
"location",
|
706
|
-
"project_id",
|
707
|
-
"gcp_conn_id",
|
708
|
-
)
|
709
|
-
template_fields_renderers = {"query": "sql"}
|
710
|
-
|
711
|
-
def __init__(
|
712
|
-
self,
|
713
|
-
job_name: str,
|
714
|
-
query: str,
|
715
|
-
options: dict[str, Any],
|
716
|
-
location: str = DEFAULT_DATAFLOW_LOCATION,
|
717
|
-
project_id: str = PROVIDE_PROJECT_ID,
|
718
|
-
gcp_conn_id: str = "google_cloud_default",
|
719
|
-
drain_pipeline: bool = False,
|
720
|
-
impersonation_chain: str | Sequence[str] | None = None,
|
721
|
-
*args,
|
722
|
-
**kwargs,
|
723
|
-
) -> None:
|
724
|
-
super().__init__(*args, **kwargs)
|
725
|
-
self.job_name = job_name
|
726
|
-
self.query = query
|
727
|
-
self.options = options
|
728
|
-
self.location = location
|
729
|
-
self.project_id = project_id
|
730
|
-
self.gcp_conn_id = gcp_conn_id
|
731
|
-
self.drain_pipeline = drain_pipeline
|
732
|
-
self.impersonation_chain = impersonation_chain
|
733
|
-
self.job = None
|
734
|
-
self.hook: DataflowHook | None = None
|
735
|
-
|
736
|
-
def execute(self, context: Context):
|
737
|
-
self.hook = DataflowHook(
|
738
|
-
gcp_conn_id=self.gcp_conn_id,
|
739
|
-
drain_pipeline=self.drain_pipeline,
|
740
|
-
impersonation_chain=self.impersonation_chain,
|
741
|
-
)
|
742
|
-
|
743
|
-
def set_current_job(current_job):
|
744
|
-
self.job = current_job
|
745
|
-
|
746
|
-
job = self.hook.start_sql_job(
|
747
|
-
job_name=self.job_name,
|
748
|
-
query=self.query,
|
749
|
-
options=self.options,
|
750
|
-
location=self.location,
|
751
|
-
project_id=self.project_id,
|
752
|
-
on_new_job_callback=set_current_job,
|
753
|
-
)
|
754
|
-
|
755
|
-
return job
|
756
|
-
|
757
|
-
def on_kill(self) -> None:
|
758
|
-
self.log.info("On kill.")
|
759
|
-
if self.job:
|
760
|
-
self.hook.cancel_job(
|
761
|
-
job_id=self.job.get("id"),
|
762
|
-
project_id=self.job.get("projectId"),
|
763
|
-
location=self.job.get("location"),
|
764
|
-
)
|
765
|
-
|
766
|
-
|
767
656
|
class DataflowStartYamlJobOperator(GoogleCloudBaseOperator):
|
768
657
|
"""
|
769
658
|
Launch a Dataflow YAML job and return the result.
|
@@ -26,10 +26,11 @@ from airflow.providers.google.cloud.links.dataform import (
|
|
26
26
|
)
|
27
27
|
|
28
28
|
if TYPE_CHECKING:
|
29
|
-
from google.api_core.retry import Retry
|
30
|
-
|
31
29
|
from airflow.utils.context import Context
|
30
|
+
from google.api_core.retry import Retry
|
32
31
|
|
32
|
+
from airflow.providers.google.cloud.hooks.dataform import DataformHook
|
33
|
+
from airflow.providers.google.cloud.operators.cloud_base import GoogleCloudBaseOperator
|
33
34
|
from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
|
34
35
|
from google.cloud.dataform_v1beta1.types import (
|
35
36
|
CompilationResult,
|
@@ -42,9 +43,6 @@ from google.cloud.dataform_v1beta1.types import (
|
|
42
43
|
WriteFileResponse,
|
43
44
|
)
|
44
45
|
|
45
|
-
from airflow.providers.google.cloud.hooks.dataform import DataformHook
|
46
|
-
from airflow.providers.google.cloud.operators.cloud_base import GoogleCloudBaseOperator
|
47
|
-
|
48
46
|
|
49
47
|
class DataformCreateCompilationResultOperator(GoogleCloudBaseOperator):
|
50
48
|
"""
|
@@ -22,7 +22,6 @@ import time
|
|
22
22
|
from collections.abc import Sequence
|
23
23
|
from typing import TYPE_CHECKING, Any
|
24
24
|
|
25
|
-
from google.api_core.retry import exponential_sleep_generator
|
26
25
|
from googleapiclient.errors import HttpError
|
27
26
|
|
28
27
|
from airflow.configuration import conf
|
@@ -39,6 +38,7 @@ from airflow.providers.google.cloud.utils.datafusion import DataFusionPipelineTy
|
|
39
38
|
from airflow.providers.google.cloud.utils.helpers import resource_path_to_dict
|
40
39
|
from airflow.providers.google.common.deprecated import deprecated
|
41
40
|
from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID
|
41
|
+
from google.api_core.retry import exponential_sleep_generator
|
42
42
|
|
43
43
|
if TYPE_CHECKING:
|
44
44
|
from airflow.utils.context import Context
|