apache-airflow-providers-google 10.14.0rc1__py3-none-any.whl → 10.15.0rc1__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/__init__.py +1 -1
- airflow/providers/google/ads/hooks/ads.py +1 -2
- airflow/providers/google/cloud/hooks/automl.py +13 -13
- airflow/providers/google/cloud/hooks/bigquery.py +208 -256
- airflow/providers/google/cloud/hooks/bigquery_dts.py +6 -6
- airflow/providers/google/cloud/hooks/bigtable.py +8 -8
- airflow/providers/google/cloud/hooks/cloud_batch.py +1 -1
- airflow/providers/google/cloud/hooks/cloud_build.py +19 -20
- airflow/providers/google/cloud/hooks/cloud_composer.py +4 -4
- airflow/providers/google/cloud/hooks/cloud_memorystore.py +10 -10
- airflow/providers/google/cloud/hooks/cloud_run.py +1 -1
- airflow/providers/google/cloud/hooks/cloud_sql.py +18 -19
- airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +3 -3
- airflow/providers/google/cloud/hooks/compute.py +16 -16
- airflow/providers/google/cloud/hooks/compute_ssh.py +1 -1
- airflow/providers/google/cloud/hooks/datacatalog.py +22 -22
- airflow/providers/google/cloud/hooks/dataflow.py +48 -49
- airflow/providers/google/cloud/hooks/dataform.py +16 -16
- airflow/providers/google/cloud/hooks/datafusion.py +15 -15
- airflow/providers/google/cloud/hooks/datapipeline.py +3 -3
- airflow/providers/google/cloud/hooks/dataplex.py +19 -19
- airflow/providers/google/cloud/hooks/dataprep.py +10 -10
- airflow/providers/google/cloud/hooks/dataproc.py +132 -14
- airflow/providers/google/cloud/hooks/dataproc_metastore.py +13 -13
- airflow/providers/google/cloud/hooks/datastore.py +3 -3
- airflow/providers/google/cloud/hooks/dlp.py +25 -25
- airflow/providers/google/cloud/hooks/gcs.py +39 -27
- airflow/providers/google/cloud/hooks/gdm.py +3 -3
- airflow/providers/google/cloud/hooks/kms.py +3 -3
- airflow/providers/google/cloud/hooks/kubernetes_engine.py +63 -48
- airflow/providers/google/cloud/hooks/life_sciences.py +13 -12
- airflow/providers/google/cloud/hooks/looker.py +8 -9
- airflow/providers/google/cloud/hooks/mlengine.py +12 -12
- airflow/providers/google/cloud/hooks/natural_language.py +2 -2
- airflow/providers/google/cloud/hooks/os_login.py +1 -1
- airflow/providers/google/cloud/hooks/pubsub.py +9 -9
- airflow/providers/google/cloud/hooks/secret_manager.py +1 -1
- airflow/providers/google/cloud/hooks/spanner.py +11 -11
- airflow/providers/google/cloud/hooks/speech_to_text.py +1 -1
- airflow/providers/google/cloud/hooks/stackdriver.py +7 -7
- airflow/providers/google/cloud/hooks/tasks.py +11 -11
- airflow/providers/google/cloud/hooks/text_to_speech.py +1 -1
- airflow/providers/google/cloud/hooks/translate.py +1 -1
- airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +13 -13
- airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +6 -6
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +45 -50
- airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +13 -13
- airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +9 -9
- airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +128 -11
- airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +10 -10
- airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +8 -8
- airflow/providers/google/cloud/hooks/video_intelligence.py +2 -2
- airflow/providers/google/cloud/hooks/vision.py +1 -1
- airflow/providers/google/cloud/hooks/workflows.py +10 -10
- airflow/providers/google/cloud/links/datafusion.py +12 -5
- airflow/providers/google/cloud/operators/bigquery.py +11 -11
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +3 -1
- airflow/providers/google/cloud/operators/dataflow.py +16 -16
- airflow/providers/google/cloud/operators/datafusion.py +9 -1
- airflow/providers/google/cloud/operators/dataproc.py +444 -69
- airflow/providers/google/cloud/operators/kubernetes_engine.py +6 -6
- airflow/providers/google/cloud/operators/life_sciences.py +10 -9
- airflow/providers/google/cloud/operators/mlengine.py +96 -96
- airflow/providers/google/cloud/operators/pubsub.py +2 -0
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +33 -3
- airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +59 -2
- airflow/providers/google/cloud/secrets/secret_manager.py +8 -7
- airflow/providers/google/cloud/sensors/bigquery.py +20 -16
- airflow/providers/google/cloud/sensors/cloud_composer.py +11 -8
- airflow/providers/google/cloud/sensors/dataproc_metastore.py +12 -2
- airflow/providers/google/cloud/sensors/gcs.py +8 -7
- airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +1 -0
- airflow/providers/google/cloud/transfers/cassandra_to_gcs.py +4 -4
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +1 -0
- airflow/providers/google/cloud/transfers/gcs_to_sftp.py +1 -1
- airflow/providers/google/cloud/transfers/mssql_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/mysql_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/oracle_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/postgres_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/presto_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/s3_to_gcs.py +3 -3
- airflow/providers/google/cloud/transfers/sftp_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/sql_to_gcs.py +3 -3
- airflow/providers/google/cloud/transfers/trino_to_gcs.py +1 -1
- airflow/providers/google/cloud/triggers/bigquery.py +12 -12
- airflow/providers/google/cloud/triggers/bigquery_dts.py +1 -1
- airflow/providers/google/cloud/triggers/cloud_batch.py +3 -1
- airflow/providers/google/cloud/triggers/cloud_build.py +2 -2
- airflow/providers/google/cloud/triggers/cloud_run.py +1 -1
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +6 -6
- airflow/providers/google/cloud/triggers/dataflow.py +3 -1
- airflow/providers/google/cloud/triggers/datafusion.py +2 -2
- airflow/providers/google/cloud/triggers/dataplex.py +2 -2
- airflow/providers/google/cloud/triggers/dataproc.py +34 -14
- airflow/providers/google/cloud/triggers/gcs.py +12 -8
- airflow/providers/google/cloud/triggers/kubernetes_engine.py +2 -2
- airflow/providers/google/cloud/triggers/mlengine.py +2 -2
- airflow/providers/google/cloud/triggers/pubsub.py +1 -1
- airflow/providers/google/cloud/triggers/vertex_ai.py +99 -0
- airflow/providers/google/cloud/utils/bigquery.py +2 -2
- airflow/providers/google/cloud/utils/credentials_provider.py +2 -2
- airflow/providers/google/cloud/utils/dataform.py +1 -1
- airflow/providers/google/cloud/utils/dataproc.py +25 -0
- airflow/providers/google/cloud/utils/field_validator.py +2 -2
- airflow/providers/google/cloud/utils/helpers.py +2 -2
- airflow/providers/google/cloud/utils/mlengine_operator_utils.py +1 -1
- airflow/providers/google/cloud/utils/mlengine_prediction_summary.py +1 -1
- airflow/providers/google/common/auth_backend/google_openid.py +2 -2
- airflow/providers/google/common/hooks/base_google.py +87 -23
- airflow/providers/google/common/hooks/discovery_api.py +2 -2
- airflow/providers/google/common/utils/id_token_credentials.py +5 -5
- airflow/providers/google/firebase/hooks/firestore.py +3 -3
- airflow/providers/google/get_provider_info.py +7 -2
- airflow/providers/google/leveldb/hooks/leveldb.py +4 -4
- airflow/providers/google/marketing_platform/hooks/analytics.py +11 -14
- airflow/providers/google/marketing_platform/hooks/campaign_manager.py +11 -11
- airflow/providers/google/marketing_platform/hooks/display_video.py +13 -13
- airflow/providers/google/marketing_platform/hooks/search_ads.py +4 -4
- airflow/providers/google/marketing_platform/operators/analytics.py +37 -32
- airflow/providers/google/suite/hooks/calendar.py +2 -2
- airflow/providers/google/suite/hooks/drive.py +7 -7
- airflow/providers/google/suite/hooks/sheets.py +8 -8
- {apache_airflow_providers_google-10.14.0rc1.dist-info → apache_airflow_providers_google-10.15.0rc1.dist-info}/METADATA +11 -11
- {apache_airflow_providers_google-10.14.0rc1.dist-info → apache_airflow_providers_google-10.15.0rc1.dist-info}/RECORD +126 -124
- {apache_airflow_providers_google-10.14.0rc1.dist-info → apache_airflow_providers_google-10.15.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_google-10.14.0rc1.dist-info → apache_airflow_providers_google-10.15.0rc1.dist-info}/entry_points.txt +0 -0
@@ -25,12 +25,12 @@ import logging
|
|
25
25
|
import re
|
26
26
|
import time
|
27
27
|
import uuid
|
28
|
-
import warnings
|
29
28
|
from copy import deepcopy
|
30
29
|
from datetime import datetime, timedelta
|
31
30
|
from typing import TYPE_CHECKING, Any, Iterable, Mapping, NoReturn, Sequence, Union, cast
|
32
31
|
|
33
32
|
from aiohttp import ClientSession as ClientSession
|
33
|
+
from deprecated import deprecated
|
34
34
|
from gcloud.aio.bigquery import Job, Table as Table_async
|
35
35
|
from google.cloud.bigquery import (
|
36
36
|
DEFAULT_RETRY,
|
@@ -140,13 +140,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
140
140
|
hook=self,
|
141
141
|
)
|
142
142
|
|
143
|
+
@deprecated(
|
144
|
+
reason=("Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_client`"),
|
145
|
+
category=AirflowProviderDeprecationWarning,
|
146
|
+
)
|
143
147
|
def get_service(self) -> Resource:
|
144
148
|
"""Get a BigQuery service object. Deprecated."""
|
145
|
-
warnings.warn(
|
146
|
-
"This method will be deprecated. Please use `BigQueryHook.get_client` method",
|
147
|
-
AirflowProviderDeprecationWarning,
|
148
|
-
stacklevel=2,
|
149
|
-
)
|
150
149
|
http_authorized = self._authorize()
|
151
150
|
return build("bigquery", "v2", http=http_authorized, cache_discovery=False)
|
152
151
|
|
@@ -538,6 +537,13 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
538
537
|
not_found_ok=True,
|
539
538
|
)
|
540
539
|
|
540
|
+
@deprecated(
|
541
|
+
reason=(
|
542
|
+
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_table` "
|
543
|
+
"method with passing the `table_resource` object. This gives more flexibility than this method."
|
544
|
+
),
|
545
|
+
category=AirflowProviderDeprecationWarning,
|
546
|
+
)
|
541
547
|
@GoogleBaseHook.fallback_to_default_project_id
|
542
548
|
def create_external_table(
|
543
549
|
self,
|
@@ -621,12 +627,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
621
627
|
"kmsKeyName": "projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key",
|
622
628
|
}
|
623
629
|
"""
|
624
|
-
warnings.warn(
|
625
|
-
"This method is deprecated. Please use `BigQueryHook.create_empty_table` method with "
|
626
|
-
"passing the `table_resource` object. This gives more flexibility than this method.",
|
627
|
-
AirflowProviderDeprecationWarning,
|
628
|
-
stacklevel=2,
|
629
|
-
)
|
630
630
|
location = location or self.location
|
631
631
|
src_fmt_configs = src_fmt_configs or {}
|
632
632
|
source_format = source_format.upper()
|
@@ -737,6 +737,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
737
737
|
self.log.info("Table %s.%s.%s updated successfully", project_id, dataset_id, table_id)
|
738
738
|
return table_object.to_api_repr()
|
739
739
|
|
740
|
+
@deprecated(
|
741
|
+
reason=(
|
742
|
+
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.update_table` method."
|
743
|
+
),
|
744
|
+
category=AirflowProviderDeprecationWarning,
|
745
|
+
)
|
740
746
|
@GoogleBaseHook.fallback_to_default_project_id
|
741
747
|
def patch_table(
|
742
748
|
self,
|
@@ -807,11 +813,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
807
813
|
}
|
808
814
|
|
809
815
|
"""
|
810
|
-
warnings.warn(
|
811
|
-
"This method is deprecated, please use ``BigQueryHook.update_table`` method.",
|
812
|
-
AirflowProviderDeprecationWarning,
|
813
|
-
stacklevel=2,
|
814
|
-
)
|
815
816
|
table_resource: dict[str, Any] = {}
|
816
817
|
|
817
818
|
if description is not None:
|
@@ -944,6 +945,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
944
945
|
self.log.info("Dataset successfully updated: %s", dataset)
|
945
946
|
return dataset
|
946
947
|
|
948
|
+
@deprecated(
|
949
|
+
reason=(
|
950
|
+
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.update_dataset` method."
|
951
|
+
),
|
952
|
+
category=AirflowProviderDeprecationWarning,
|
953
|
+
)
|
947
954
|
def patch_dataset(self, dataset_id: str, dataset_resource: dict, project_id: str | None = None) -> dict:
|
948
955
|
"""Patches information in an existing dataset.
|
949
956
|
|
@@ -960,11 +967,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
960
967
|
https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#resource
|
961
968
|
:param project_id: The Google Cloud Project ID
|
962
969
|
"""
|
963
|
-
warnings.warn(
|
964
|
-
"This method is deprecated. Please use ``update_dataset``.",
|
965
|
-
AirflowProviderDeprecationWarning,
|
966
|
-
stacklevel=2,
|
967
|
-
)
|
968
970
|
project_id = project_id or self.project_id
|
969
971
|
if not dataset_id or not isinstance(dataset_id, str):
|
970
972
|
raise ValueError(
|
@@ -988,6 +990,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
988
990
|
|
989
991
|
return dataset
|
990
992
|
|
993
|
+
@deprecated(
|
994
|
+
reason=(
|
995
|
+
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables` method."
|
996
|
+
),
|
997
|
+
category=AirflowProviderDeprecationWarning,
|
998
|
+
)
|
991
999
|
def get_dataset_tables_list(
|
992
1000
|
self,
|
993
1001
|
dataset_id: str,
|
@@ -1011,11 +1019,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1011
1019
|
Leverage the page tokens to iterate through the entire collection.
|
1012
1020
|
:return: List of tables associated with the dataset
|
1013
1021
|
"""
|
1014
|
-
warnings.warn(
|
1015
|
-
"This method is deprecated. Please use ``get_dataset_tables``.",
|
1016
|
-
AirflowProviderDeprecationWarning,
|
1017
|
-
stacklevel=2,
|
1018
|
-
)
|
1019
1022
|
project_id = project_id or self.project_id
|
1020
1023
|
tables = self.get_client().list_tables(
|
1021
1024
|
dataset=DatasetReference(project=project_id, dataset_id=dataset_id),
|
@@ -1188,6 +1191,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1188
1191
|
).to_api_repr()
|
1189
1192
|
return table
|
1190
1193
|
|
1194
|
+
@deprecated(
|
1195
|
+
reason=(
|
1196
|
+
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.delete_table` method."
|
1197
|
+
),
|
1198
|
+
category=AirflowProviderDeprecationWarning,
|
1199
|
+
)
|
1191
1200
|
def run_table_delete(self, deletion_dataset_table: str, ignore_if_missing: bool = False) -> None:
|
1192
1201
|
"""Delete an existing table from the dataset.
|
1193
1202
|
|
@@ -1203,11 +1212,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1203
1212
|
requested table does not exist.
|
1204
1213
|
:return:
|
1205
1214
|
"""
|
1206
|
-
warnings.warn(
|
1207
|
-
"This method is deprecated. Please use `delete_table`.",
|
1208
|
-
AirflowProviderDeprecationWarning,
|
1209
|
-
stacklevel=2,
|
1210
|
-
)
|
1211
1215
|
return self.delete_table(table_id=deletion_dataset_table, not_found_ok=ignore_if_missing)
|
1212
1216
|
|
1213
1217
|
@GoogleBaseHook.fallback_to_default_project_id
|
@@ -1234,6 +1238,10 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1234
1238
|
)
|
1235
1239
|
self.log.info("Deleted table %s", table_id)
|
1236
1240
|
|
1241
|
+
@deprecated(
|
1242
|
+
reason=("Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.list_rows` method."),
|
1243
|
+
category=AirflowProviderDeprecationWarning,
|
1244
|
+
)
|
1237
1245
|
def get_tabledata(
|
1238
1246
|
self,
|
1239
1247
|
dataset_id: str,
|
@@ -1259,11 +1267,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1259
1267
|
:param start_index: zero based index of the starting row to read.
|
1260
1268
|
:return: list of rows
|
1261
1269
|
"""
|
1262
|
-
warnings.warn(
|
1263
|
-
"This method is deprecated. Please use `list_rows`.",
|
1264
|
-
AirflowProviderDeprecationWarning,
|
1265
|
-
stacklevel=2,
|
1266
|
-
)
|
1267
1270
|
rows = self.list_rows(
|
1268
1271
|
dataset_id=dataset_id,
|
1269
1272
|
table_id=table_id,
|
@@ -1466,13 +1469,12 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1466
1469
|
job = self.get_client(project_id=project_id, location=location).get_job(job_id=job_id)
|
1467
1470
|
return job.done(retry=retry)
|
1468
1471
|
|
1472
|
+
@deprecated(
|
1473
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.cancel_job`",
|
1474
|
+
category=AirflowProviderDeprecationWarning,
|
1475
|
+
)
|
1469
1476
|
def cancel_query(self) -> None:
|
1470
1477
|
"""Cancel all started queries that have not yet completed."""
|
1471
|
-
warnings.warn(
|
1472
|
-
"This method is deprecated. Please use `BigQueryHook.cancel_job`.",
|
1473
|
-
AirflowProviderDeprecationWarning,
|
1474
|
-
stacklevel=2,
|
1475
|
-
)
|
1476
1478
|
if self.running_job_id:
|
1477
1479
|
self.cancel_job(job_id=self.running_job_id)
|
1478
1480
|
else:
|
@@ -1616,6 +1618,10 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1616
1618
|
job_api_repr.result(timeout=timeout, retry=retry)
|
1617
1619
|
return job_api_repr
|
1618
1620
|
|
1621
|
+
@deprecated(
|
1622
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job`",
|
1623
|
+
category=AirflowProviderDeprecationWarning,
|
1624
|
+
)
|
1619
1625
|
def run_with_configuration(self, configuration: dict) -> str:
|
1620
1626
|
"""Execute a BigQuery SQL query.
|
1621
1627
|
|
@@ -1628,15 +1634,14 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1628
1634
|
https://cloud.google.com/bigquery/docs/reference/v2/jobs for
|
1629
1635
|
details.
|
1630
1636
|
"""
|
1631
|
-
warnings.warn(
|
1632
|
-
"This method is deprecated. Please use `BigQueryHook.insert_job`",
|
1633
|
-
AirflowProviderDeprecationWarning,
|
1634
|
-
stacklevel=2,
|
1635
|
-
)
|
1636
1637
|
job = self.insert_job(configuration=configuration, project_id=self.project_id)
|
1637
1638
|
self.running_job_id = job.job_id
|
1638
1639
|
return job.job_id
|
1639
1640
|
|
1641
|
+
@deprecated(
|
1642
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job`",
|
1643
|
+
category=AirflowProviderDeprecationWarning,
|
1644
|
+
)
|
1640
1645
|
def run_load(
|
1641
1646
|
self,
|
1642
1647
|
destination_project_dataset_table: str,
|
@@ -1726,12 +1731,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1726
1731
|
:param labels: A dictionary containing labels for the BiqQuery table.
|
1727
1732
|
:param description: A string containing the description for the BigQuery table.
|
1728
1733
|
"""
|
1729
|
-
warnings.warn(
|
1730
|
-
"This method is deprecated. Please use `BigQueryHook.insert_job` method.",
|
1731
|
-
AirflowProviderDeprecationWarning,
|
1732
|
-
stacklevel=2,
|
1733
|
-
)
|
1734
|
-
|
1735
1734
|
if not self.project_id:
|
1736
1735
|
raise ValueError("The project_id should be set")
|
1737
1736
|
|
@@ -1879,6 +1878,10 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1879
1878
|
self.running_job_id = job.job_id
|
1880
1879
|
return job.job_id
|
1881
1880
|
|
1881
|
+
@deprecated(
|
1882
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job`",
|
1883
|
+
category=AirflowProviderDeprecationWarning,
|
1884
|
+
)
|
1882
1885
|
def run_copy(
|
1883
1886
|
self,
|
1884
1887
|
source_project_dataset_tables: list | str,
|
@@ -1914,11 +1917,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1914
1917
|
"kmsKeyName": "projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key",
|
1915
1918
|
}
|
1916
1919
|
"""
|
1917
|
-
warnings.warn(
|
1918
|
-
"This method is deprecated. Please use `BigQueryHook.insert_job` method.",
|
1919
|
-
AirflowProviderDeprecationWarning,
|
1920
|
-
stacklevel=2,
|
1921
|
-
)
|
1922
1920
|
if not self.project_id:
|
1923
1921
|
raise ValueError("The project_id should be set")
|
1924
1922
|
|
@@ -1965,6 +1963,10 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1965
1963
|
self.running_job_id = job.job_id
|
1966
1964
|
return job.job_id
|
1967
1965
|
|
1966
|
+
@deprecated(
|
1967
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job`",
|
1968
|
+
category=AirflowProviderDeprecationWarning,
|
1969
|
+
)
|
1968
1970
|
def run_extract(
|
1969
1971
|
self,
|
1970
1972
|
source_project_dataset_table: str,
|
@@ -1996,11 +1998,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
1996
1998
|
passed to BigQuery
|
1997
1999
|
:param return_full_job: return full job instead of job id only
|
1998
2000
|
"""
|
1999
|
-
warnings.warn(
|
2000
|
-
"This method is deprecated. Please use `BigQueryHook.insert_job` method.",
|
2001
|
-
AirflowProviderDeprecationWarning,
|
2002
|
-
stacklevel=2,
|
2003
|
-
)
|
2004
2001
|
if not self.project_id:
|
2005
2002
|
raise ValueError("The project_id should be set")
|
2006
2003
|
|
@@ -2039,6 +2036,10 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2039
2036
|
return job
|
2040
2037
|
return job.job_id
|
2041
2038
|
|
2039
|
+
@deprecated(
|
2040
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_job`",
|
2041
|
+
category=AirflowProviderDeprecationWarning,
|
2042
|
+
)
|
2042
2043
|
def run_query(
|
2043
2044
|
self,
|
2044
2045
|
sql: str,
|
@@ -2124,11 +2125,6 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2124
2125
|
"kmsKeyName": "projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key",
|
2125
2126
|
}
|
2126
2127
|
"""
|
2127
|
-
warnings.warn(
|
2128
|
-
"This method is deprecated. Please use `BigQueryHook.insert_job` method.",
|
2129
|
-
AirflowProviderDeprecationWarning,
|
2130
|
-
stacklevel=2,
|
2131
|
-
)
|
2132
2128
|
if not self.project_id:
|
2133
2129
|
raise ValueError("The project_id should be set")
|
2134
2130
|
|
@@ -2352,17 +2348,17 @@ class BigQueryConnection:
|
|
2352
2348
|
self._kwargs = kwargs
|
2353
2349
|
|
2354
2350
|
def close(self) -> None:
|
2355
|
-
"""
|
2351
|
+
"""Do nothing. Not needed for BigQueryConnection."""
|
2356
2352
|
|
2357
2353
|
def commit(self) -> None:
|
2358
|
-
"""
|
2354
|
+
"""Do nothing. BigQueryConnection does not support transactions."""
|
2359
2355
|
|
2360
2356
|
def cursor(self) -> BigQueryCursor:
|
2361
2357
|
"""Return a new :py:class:`Cursor` object using the connection."""
|
2362
2358
|
return BigQueryCursor(*self._args, **self._kwargs)
|
2363
2359
|
|
2364
2360
|
def rollback(self) -> NoReturn:
|
2365
|
-
"""
|
2361
|
+
"""Do nothing. BigQueryConnection does not support transactions."""
|
2366
2362
|
raise NotImplementedError("BigQueryConnection does not have transactions")
|
2367
2363
|
|
2368
2364
|
|
@@ -2398,342 +2394,293 @@ class BigQueryBaseCursor(LoggingMixin):
|
|
2398
2394
|
self.labels = labels
|
2399
2395
|
self.hook = hook
|
2400
2396
|
|
2397
|
+
@deprecated(
|
2398
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_table`",
|
2399
|
+
category=AirflowProviderDeprecationWarning,
|
2400
|
+
)
|
2401
2401
|
def create_empty_table(self, *args, **kwargs):
|
2402
|
-
"""
|
2402
|
+
"""Create empty table. DEPRECATED.
|
2403
2403
|
|
2404
2404
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_table`
|
2405
2405
|
instead.
|
2406
2406
|
"""
|
2407
|
-
warnings.warn(
|
2408
|
-
"This method is deprecated. "
|
2409
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_table`",
|
2410
|
-
AirflowProviderDeprecationWarning,
|
2411
|
-
stacklevel=3,
|
2412
|
-
)
|
2413
2407
|
return self.hook.create_empty_table(*args, **kwargs)
|
2414
2408
|
|
2409
|
+
@deprecated(
|
2410
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_dataset`",
|
2411
|
+
category=AirflowProviderDeprecationWarning,
|
2412
|
+
)
|
2415
2413
|
def create_empty_dataset(self, *args, **kwargs) -> dict[str, Any]:
|
2416
|
-
"""
|
2414
|
+
"""Create empty dataset. DEPRECATED.
|
2417
2415
|
|
2418
2416
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_dataset`
|
2419
2417
|
instead.
|
2420
2418
|
"""
|
2421
|
-
warnings.warn(
|
2422
|
-
"This method is deprecated. "
|
2423
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_empty_dataset`",
|
2424
|
-
AirflowProviderDeprecationWarning,
|
2425
|
-
stacklevel=3,
|
2426
|
-
)
|
2427
2419
|
return self.hook.create_empty_dataset(*args, **kwargs)
|
2428
2420
|
|
2421
|
+
@deprecated(
|
2422
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables`",
|
2423
|
+
category=AirflowProviderDeprecationWarning,
|
2424
|
+
)
|
2429
2425
|
def get_dataset_tables(self, *args, **kwargs) -> list[dict[str, Any]]:
|
2430
|
-
"""
|
2426
|
+
"""Get dataset tables. DEPRECATED.
|
2431
2427
|
|
2432
2428
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables`
|
2433
2429
|
instead.
|
2434
2430
|
"""
|
2435
|
-
warnings.warn(
|
2436
|
-
"This method is deprecated. "
|
2437
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables`",
|
2438
|
-
AirflowProviderDeprecationWarning,
|
2439
|
-
stacklevel=3,
|
2440
|
-
)
|
2441
2431
|
return self.hook.get_dataset_tables(*args, **kwargs)
|
2442
2432
|
|
2433
|
+
@deprecated(
|
2434
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.delete_dataset`",
|
2435
|
+
category=AirflowProviderDeprecationWarning,
|
2436
|
+
)
|
2443
2437
|
def delete_dataset(self, *args, **kwargs) -> None:
|
2444
|
-
"""
|
2438
|
+
"""Delete dataset. DEPRECATED.
|
2445
2439
|
|
2446
2440
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.delete_dataset`
|
2447
2441
|
instead.
|
2448
2442
|
"""
|
2449
|
-
warnings.warn(
|
2450
|
-
"This method is deprecated. "
|
2451
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.delete_dataset`",
|
2452
|
-
AirflowProviderDeprecationWarning,
|
2453
|
-
stacklevel=3,
|
2454
|
-
)
|
2455
2443
|
return self.hook.delete_dataset(*args, **kwargs)
|
2456
2444
|
|
2445
|
+
@deprecated(
|
2446
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_external_table`",
|
2447
|
+
category=AirflowProviderDeprecationWarning,
|
2448
|
+
)
|
2457
2449
|
def create_external_table(self, *args, **kwargs):
|
2458
|
-
"""
|
2450
|
+
"""Create external table. DEPRECATED.
|
2459
2451
|
|
2460
2452
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_external_table`
|
2461
2453
|
instead.
|
2462
2454
|
"""
|
2463
|
-
warnings.warn(
|
2464
|
-
"This method is deprecated. "
|
2465
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.create_external_table`",
|
2466
|
-
AirflowProviderDeprecationWarning,
|
2467
|
-
stacklevel=3,
|
2468
|
-
)
|
2469
2455
|
return self.hook.create_external_table(*args, **kwargs)
|
2470
2456
|
|
2457
|
+
@deprecated(
|
2458
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_table`",
|
2459
|
+
category=AirflowProviderDeprecationWarning,
|
2460
|
+
)
|
2471
2461
|
def patch_table(self, *args, **kwargs) -> None:
|
2472
|
-
"""
|
2462
|
+
"""Patch table. DEPRECATED.
|
2473
2463
|
|
2474
2464
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_table`
|
2475
2465
|
instead.
|
2476
2466
|
"""
|
2477
|
-
warnings.warn(
|
2478
|
-
"This method is deprecated. "
|
2479
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_table`",
|
2480
|
-
AirflowProviderDeprecationWarning,
|
2481
|
-
stacklevel=3,
|
2482
|
-
)
|
2483
2467
|
return self.hook.patch_table(*args, **kwargs)
|
2484
2468
|
|
2469
|
+
@deprecated(
|
2470
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_all`",
|
2471
|
+
category=AirflowProviderDeprecationWarning,
|
2472
|
+
)
|
2485
2473
|
def insert_all(self, *args, **kwargs) -> None:
|
2486
|
-
"""
|
2474
|
+
"""Insert all. DEPRECATED.
|
2487
2475
|
|
2488
2476
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_all`
|
2489
2477
|
instead.
|
2490
2478
|
"""
|
2491
|
-
warnings.warn(
|
2492
|
-
"This method is deprecated. "
|
2493
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.insert_all`",
|
2494
|
-
AirflowProviderDeprecationWarning,
|
2495
|
-
stacklevel=3,
|
2496
|
-
)
|
2497
2479
|
return self.hook.insert_all(*args, **kwargs)
|
2498
2480
|
|
2481
|
+
@deprecated(
|
2482
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.update_dataset`",
|
2483
|
+
category=AirflowProviderDeprecationWarning,
|
2484
|
+
)
|
2499
2485
|
def update_dataset(self, *args, **kwargs) -> dict:
|
2500
|
-
"""
|
2486
|
+
"""Update dataset. DEPRECATED.
|
2501
2487
|
|
2502
2488
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.update_dataset`
|
2503
2489
|
instead.
|
2504
2490
|
"""
|
2505
|
-
warnings.warn(
|
2506
|
-
"This method is deprecated. "
|
2507
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.update_dataset`",
|
2508
|
-
AirflowProviderDeprecationWarning,
|
2509
|
-
stacklevel=3,
|
2510
|
-
)
|
2511
2491
|
return Dataset.to_api_repr(self.hook.update_dataset(*args, **kwargs))
|
2512
2492
|
|
2493
|
+
@deprecated(
|
2494
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_dataset`",
|
2495
|
+
category=AirflowProviderDeprecationWarning,
|
2496
|
+
)
|
2513
2497
|
def patch_dataset(self, *args, **kwargs) -> dict:
|
2514
|
-
"""
|
2498
|
+
"""Patch dataset. DEPRECATED.
|
2515
2499
|
|
2516
2500
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_dataset`
|
2517
2501
|
instead.
|
2518
2502
|
"""
|
2519
|
-
warnings.warn(
|
2520
|
-
"This method is deprecated. "
|
2521
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.patch_dataset`",
|
2522
|
-
AirflowProviderDeprecationWarning,
|
2523
|
-
stacklevel=3,
|
2524
|
-
)
|
2525
2503
|
return self.hook.patch_dataset(*args, **kwargs)
|
2526
2504
|
|
2505
|
+
@deprecated(
|
2506
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables_list`",
|
2507
|
+
category=AirflowProviderDeprecationWarning,
|
2508
|
+
)
|
2527
2509
|
def get_dataset_tables_list(self, *args, **kwargs) -> list[dict[str, Any]]:
|
2528
|
-
"""
|
2510
|
+
"""Get dataset tables list. DEPRECATED.
|
2529
2511
|
|
2530
2512
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables_list`
|
2531
2513
|
instead.
|
2532
2514
|
"""
|
2533
|
-
warnings.warn(
|
2534
|
-
"This method is deprecated. "
|
2535
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset_tables_list`",
|
2536
|
-
AirflowProviderDeprecationWarning,
|
2537
|
-
stacklevel=3,
|
2538
|
-
)
|
2539
2515
|
return self.hook.get_dataset_tables_list(*args, **kwargs)
|
2540
2516
|
|
2517
|
+
@deprecated(
|
2518
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_datasets_list`",
|
2519
|
+
category=AirflowProviderDeprecationWarning,
|
2520
|
+
)
|
2541
2521
|
def get_datasets_list(self, *args, **kwargs) -> list | HTTPIterator:
|
2542
|
-
"""
|
2522
|
+
"""Get datasets list. DEPRECATED.
|
2543
2523
|
|
2544
2524
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_datasets_list`
|
2545
2525
|
instead.
|
2546
2526
|
"""
|
2547
|
-
warnings.warn(
|
2548
|
-
"This method is deprecated. "
|
2549
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_datasets_list`",
|
2550
|
-
AirflowProviderDeprecationWarning,
|
2551
|
-
stacklevel=3,
|
2552
|
-
)
|
2553
2527
|
return self.hook.get_datasets_list(*args, **kwargs)
|
2554
2528
|
|
2529
|
+
@deprecated(
|
2530
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset`",
|
2531
|
+
category=AirflowProviderDeprecationWarning,
|
2532
|
+
)
|
2555
2533
|
def get_dataset(self, *args, **kwargs) -> Dataset:
|
2556
|
-
"""
|
2534
|
+
"""Get dataset. DEPRECATED.
|
2557
2535
|
|
2558
2536
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset`
|
2559
2537
|
instead.
|
2560
2538
|
"""
|
2561
|
-
warnings.warn(
|
2562
|
-
"This method is deprecated. "
|
2563
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_dataset`",
|
2564
|
-
AirflowProviderDeprecationWarning,
|
2565
|
-
stacklevel=3,
|
2566
|
-
)
|
2567
2539
|
return self.hook.get_dataset(*args, **kwargs)
|
2568
2540
|
|
2541
|
+
@deprecated(
|
2542
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_grant_dataset_view_access`",
|
2543
|
+
category=AirflowProviderDeprecationWarning,
|
2544
|
+
)
|
2569
2545
|
def run_grant_dataset_view_access(self, *args, **kwargs) -> dict:
|
2570
|
-
"""
|
2546
|
+
"""Grant view access to dataset. DEPRECATED.
|
2571
2547
|
|
2572
2548
|
Please use
|
2573
2549
|
:func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_grant_dataset_view_access`
|
2574
2550
|
instead.
|
2575
2551
|
"""
|
2576
|
-
warnings.warn(
|
2577
|
-
"This method is deprecated. "
|
2578
|
-
"Please use `airflow.providers.google.cloud.hooks"
|
2579
|
-
".bigquery.BigQueryHook.run_grant_dataset_view_access`",
|
2580
|
-
AirflowProviderDeprecationWarning,
|
2581
|
-
stacklevel=3,
|
2582
|
-
)
|
2583
2552
|
return self.hook.run_grant_dataset_view_access(*args, **kwargs)
|
2584
2553
|
|
2554
|
+
@deprecated(
|
2555
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_upsert`",
|
2556
|
+
category=AirflowProviderDeprecationWarning,
|
2557
|
+
)
|
2585
2558
|
def run_table_upsert(self, *args, **kwargs) -> dict:
|
2586
|
-
"""
|
2559
|
+
"""Upsert table. DEPRECATED.
|
2587
2560
|
|
2588
2561
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_upsert`
|
2589
2562
|
instead.
|
2590
2563
|
"""
|
2591
|
-
warnings.warn(
|
2592
|
-
"This method is deprecated. "
|
2593
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_upsert`",
|
2594
|
-
AirflowProviderDeprecationWarning,
|
2595
|
-
stacklevel=3,
|
2596
|
-
)
|
2597
2564
|
return self.hook.run_table_upsert(*args, **kwargs)
|
2598
2565
|
|
2566
|
+
@deprecated(
|
2567
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_delete`",
|
2568
|
+
category=AirflowProviderDeprecationWarning,
|
2569
|
+
)
|
2599
2570
|
def run_table_delete(self, *args, **kwargs) -> None:
|
2600
|
-
"""
|
2571
|
+
"""Delete table. DEPRECATED.
|
2601
2572
|
|
2602
2573
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_delete`
|
2603
2574
|
instead.
|
2604
2575
|
"""
|
2605
|
-
warnings.warn(
|
2606
|
-
"This method is deprecated. "
|
2607
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_table_delete`",
|
2608
|
-
AirflowProviderDeprecationWarning,
|
2609
|
-
stacklevel=3,
|
2610
|
-
)
|
2611
2576
|
return self.hook.run_table_delete(*args, **kwargs)
|
2612
2577
|
|
2578
|
+
@deprecated(
|
2579
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_tabledata`",
|
2580
|
+
category=AirflowProviderDeprecationWarning,
|
2581
|
+
)
|
2613
2582
|
def get_tabledata(self, *args, **kwargs) -> list[dict]:
|
2614
|
-
"""
|
2583
|
+
"""Get table data. DEPRECATED.
|
2615
2584
|
|
2616
2585
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_tabledata`
|
2617
2586
|
instead.
|
2618
2587
|
"""
|
2619
|
-
warnings.warn(
|
2620
|
-
"This method is deprecated. "
|
2621
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_tabledata`",
|
2622
|
-
AirflowProviderDeprecationWarning,
|
2623
|
-
stacklevel=3,
|
2624
|
-
)
|
2625
2588
|
return self.hook.get_tabledata(*args, **kwargs)
|
2626
2589
|
|
2590
|
+
@deprecated(
|
2591
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_schema`",
|
2592
|
+
category=AirflowProviderDeprecationWarning,
|
2593
|
+
)
|
2627
2594
|
def get_schema(self, *args, **kwargs) -> dict:
|
2628
|
-
"""
|
2595
|
+
"""Get Schema. DEPRECATED.
|
2629
2596
|
|
2630
2597
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_schema`
|
2631
2598
|
instead.
|
2632
2599
|
"""
|
2633
|
-
warnings.warn(
|
2634
|
-
"This method is deprecated. "
|
2635
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.get_schema`",
|
2636
|
-
AirflowProviderDeprecationWarning,
|
2637
|
-
stacklevel=3,
|
2638
|
-
)
|
2639
2600
|
return self.hook.get_schema(*args, **kwargs)
|
2640
2601
|
|
2602
|
+
@deprecated(
|
2603
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.poll_job_complete`",
|
2604
|
+
category=AirflowProviderDeprecationWarning,
|
2605
|
+
)
|
2641
2606
|
def poll_job_complete(self, *args, **kwargs) -> bool:
|
2642
|
-
"""
|
2607
|
+
"""Poll for job completion.DEPRECATED.
|
2643
2608
|
|
2644
2609
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.poll_job_complete`
|
2645
2610
|
instead.
|
2646
2611
|
"""
|
2647
|
-
warnings.warn(
|
2648
|
-
"This method is deprecated. "
|
2649
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.poll_job_complete`",
|
2650
|
-
AirflowProviderDeprecationWarning,
|
2651
|
-
stacklevel=3,
|
2652
|
-
)
|
2653
2612
|
return self.hook.poll_job_complete(*args, **kwargs)
|
2654
2613
|
|
2614
|
+
@deprecated(
|
2615
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.cancel_query`",
|
2616
|
+
category=AirflowProviderDeprecationWarning,
|
2617
|
+
)
|
2655
2618
|
def cancel_query(self, *args, **kwargs) -> None:
|
2656
|
-
"""
|
2619
|
+
"""Cancel query. DEPRECATED.
|
2657
2620
|
|
2658
2621
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.cancel_query`
|
2659
2622
|
instead.
|
2660
2623
|
"""
|
2661
|
-
warnings.warn(
|
2662
|
-
"This method is deprecated. "
|
2663
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.cancel_query`",
|
2664
|
-
AirflowProviderDeprecationWarning,
|
2665
|
-
stacklevel=3,
|
2666
|
-
)
|
2667
2624
|
return self.hook.cancel_query(*args, **kwargs) # type: ignore
|
2668
2625
|
|
2626
|
+
@deprecated(
|
2627
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_with_configuration`",
|
2628
|
+
category=AirflowProviderDeprecationWarning,
|
2629
|
+
)
|
2669
2630
|
def run_with_configuration(self, *args, **kwargs) -> str:
|
2670
|
-
"""
|
2631
|
+
"""Run with configuration. DEPRECATED.
|
2671
2632
|
|
2672
2633
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_with_configuration`
|
2673
2634
|
instead.
|
2674
2635
|
"""
|
2675
|
-
warnings.warn(
|
2676
|
-
"This method is deprecated. "
|
2677
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_with_configuration`",
|
2678
|
-
AirflowProviderDeprecationWarning,
|
2679
|
-
stacklevel=3,
|
2680
|
-
)
|
2681
2636
|
return self.hook.run_with_configuration(*args, **kwargs)
|
2682
2637
|
|
2638
|
+
@deprecated(
|
2639
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_load`",
|
2640
|
+
category=AirflowProviderDeprecationWarning,
|
2641
|
+
)
|
2683
2642
|
def run_load(self, *args, **kwargs) -> str:
|
2684
|
-
"""
|
2643
|
+
"""Run load. DEPRECATED.
|
2685
2644
|
|
2686
2645
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_load`
|
2687
2646
|
instead.
|
2688
2647
|
"""
|
2689
|
-
warnings.warn(
|
2690
|
-
"This method is deprecated. "
|
2691
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_load`",
|
2692
|
-
AirflowProviderDeprecationWarning,
|
2693
|
-
stacklevel=3,
|
2694
|
-
)
|
2695
2648
|
return self.hook.run_load(*args, **kwargs)
|
2696
2649
|
|
2650
|
+
@deprecated(
|
2651
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_copy`",
|
2652
|
+
category=AirflowProviderDeprecationWarning,
|
2653
|
+
)
|
2697
2654
|
def run_copy(self, *args, **kwargs) -> str:
|
2698
|
-
"""
|
2655
|
+
"""Run copy. DEPRECATED.
|
2699
2656
|
|
2700
2657
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_copy`
|
2701
2658
|
instead.
|
2702
2659
|
"""
|
2703
|
-
warnings.warn(
|
2704
|
-
"This method is deprecated. "
|
2705
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_copy`",
|
2706
|
-
AirflowProviderDeprecationWarning,
|
2707
|
-
stacklevel=3,
|
2708
|
-
)
|
2709
2660
|
return self.hook.run_copy(*args, **kwargs)
|
2710
2661
|
|
2662
|
+
@deprecated(
|
2663
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_extract`",
|
2664
|
+
category=AirflowProviderDeprecationWarning,
|
2665
|
+
)
|
2711
2666
|
def run_extract(self, *args, **kwargs) -> str | BigQueryJob:
|
2712
|
-
"""
|
2667
|
+
"""Run extraction. DEPRECATED.
|
2713
2668
|
|
2714
2669
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_extract`
|
2715
2670
|
instead.
|
2716
2671
|
"""
|
2717
|
-
warnings.warn(
|
2718
|
-
"This method is deprecated. "
|
2719
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_extract`",
|
2720
|
-
AirflowProviderDeprecationWarning,
|
2721
|
-
stacklevel=3,
|
2722
|
-
)
|
2723
2672
|
return self.hook.run_extract(*args, **kwargs)
|
2724
2673
|
|
2674
|
+
@deprecated(
|
2675
|
+
reason="Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_query`",
|
2676
|
+
category=AirflowProviderDeprecationWarning,
|
2677
|
+
)
|
2725
2678
|
def run_query(self, *args, **kwargs) -> str:
|
2726
|
-
"""
|
2679
|
+
"""Run query. DEPRECATED.
|
2727
2680
|
|
2728
2681
|
Please use :func:`~airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_query`
|
2729
2682
|
instead.
|
2730
2683
|
"""
|
2731
|
-
warnings.warn(
|
2732
|
-
"This method is deprecated. "
|
2733
|
-
"Please use `airflow.providers.google.cloud.hooks.bigquery.BigQueryHook.run_query`",
|
2734
|
-
AirflowProviderDeprecationWarning,
|
2735
|
-
stacklevel=3,
|
2736
|
-
)
|
2737
2684
|
return self.hook.run_query(*args, **kwargs)
|
2738
2685
|
|
2739
2686
|
|
@@ -2897,7 +2844,7 @@ class BigQueryCursor(BigQueryBaseCursor):
|
|
2897
2844
|
return result
|
2898
2845
|
|
2899
2846
|
def get_arraysize(self) -> int:
|
2900
|
-
"""
|
2847
|
+
"""Get number of rows to fetch at a time.
|
2901
2848
|
|
2902
2849
|
.. seealso:: :func:`.fetchmany()`
|
2903
2850
|
"""
|
@@ -2913,10 +2860,10 @@ class BigQueryCursor(BigQueryBaseCursor):
|
|
2913
2860
|
arraysize = property(get_arraysize, set_arraysize)
|
2914
2861
|
|
2915
2862
|
def setinputsizes(self, sizes: Any) -> None:
|
2916
|
-
"""
|
2863
|
+
"""Do nothing by default."""
|
2917
2864
|
|
2918
2865
|
def setoutputsize(self, size: Any, column: Any = None) -> None:
|
2919
|
-
"""
|
2866
|
+
"""Do nothing by default."""
|
2920
2867
|
|
2921
2868
|
def _get_query_result(self) -> dict:
|
2922
2869
|
"""Get job query results; data, schema, job type, etc."""
|
@@ -2968,7 +2915,7 @@ class BigQueryCursor(BigQueryBaseCursor):
|
|
2968
2915
|
cluster_fields: list[str] | None = None,
|
2969
2916
|
encryption_configuration: dict | None = None,
|
2970
2917
|
):
|
2971
|
-
"""
|
2918
|
+
"""Prepare configuration for query."""
|
2972
2919
|
labels = labels or self.hook.labels
|
2973
2920
|
schema_update_options = list(schema_update_options or [])
|
2974
2921
|
|
@@ -3100,7 +3047,7 @@ class BigQueryCursor(BigQueryBaseCursor):
|
|
3100
3047
|
|
3101
3048
|
|
3102
3049
|
def _bind_parameters(operation: str, parameters: dict) -> str:
|
3103
|
-
"""
|
3050
|
+
"""Bind parameters to a SQL query."""
|
3104
3051
|
# inspired by MySQL Python Connector (conversion.py)
|
3105
3052
|
string_parameters = {} # type dict[str, str]
|
3106
3053
|
for name, value in parameters.items():
|
@@ -3114,7 +3061,7 @@ def _bind_parameters(operation: str, parameters: dict) -> str:
|
|
3114
3061
|
|
3115
3062
|
|
3116
3063
|
def _escape(s: str) -> str:
|
3117
|
-
"""
|
3064
|
+
"""Escape special characters in a SQL query string."""
|
3118
3065
|
e = s
|
3119
3066
|
e = e.replace("\\", "\\\\")
|
3120
3067
|
e = e.replace("\n", "\\n")
|
@@ -3287,8 +3234,13 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
|
|
3287
3234
|
self, project_id: str | None, job_id: str | None, session: ClientSession
|
3288
3235
|
) -> Job:
|
3289
3236
|
"""Get the specified job resource by job ID and project ID."""
|
3290
|
-
|
3291
|
-
|
3237
|
+
token = await self.get_token(session=session)
|
3238
|
+
return Job(
|
3239
|
+
job_id=job_id,
|
3240
|
+
project=project_id,
|
3241
|
+
token=token,
|
3242
|
+
session=cast(Session, session),
|
3243
|
+
)
|
3292
3244
|
|
3293
3245
|
async def get_job_status(self, job_id: str | None, project_id: str | None = None) -> dict[str, str]:
|
3294
3246
|
async with ClientSession() as s:
|
@@ -3532,11 +3484,11 @@ class BigQueryTableAsyncHook(GoogleBaseAsyncHook):
|
|
3532
3484
|
access to the specified project.
|
3533
3485
|
:param session: aiohttp ClientSession
|
3534
3486
|
"""
|
3535
|
-
|
3536
|
-
|
3537
|
-
|
3538
|
-
|
3539
|
-
|
3540
|
-
|
3541
|
-
|
3542
|
-
|
3487
|
+
token = await self.get_token(session=session)
|
3488
|
+
return Table_async(
|
3489
|
+
dataset_name=dataset,
|
3490
|
+
table_name=table_id,
|
3491
|
+
project=project_id,
|
3492
|
+
token=token,
|
3493
|
+
session=cast(Session, session),
|
3494
|
+
)
|