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
@@ -45,7 +45,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
45
45
|
self.api_version = api_version
|
46
46
|
|
47
47
|
def get_conn(self) -> Resource:
|
48
|
-
"""
|
48
|
+
"""Retrieve connection to DisplayVideo."""
|
49
49
|
if not self._conn:
|
50
50
|
http_authorized = self._authorize()
|
51
51
|
self._conn = build(
|
@@ -57,7 +57,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
57
57
|
return self._conn
|
58
58
|
|
59
59
|
def get_conn_to_display_video(self) -> Resource:
|
60
|
-
"""
|
60
|
+
"""Retrieve connection to DisplayVideo."""
|
61
61
|
if not self._conn:
|
62
62
|
http_authorized = self._authorize()
|
63
63
|
self._conn = build(
|
@@ -89,7 +89,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
89
89
|
|
90
90
|
def create_query(self, query: dict[str, Any]) -> dict:
|
91
91
|
"""
|
92
|
-
|
92
|
+
Create a query.
|
93
93
|
|
94
94
|
:param query: Query object to be passed to request body.
|
95
95
|
"""
|
@@ -98,7 +98,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
98
98
|
|
99
99
|
def delete_query(self, query_id: str) -> None:
|
100
100
|
"""
|
101
|
-
|
101
|
+
Delete a stored query as well as the associated stored reports.
|
102
102
|
|
103
103
|
:param query_id: Query ID to delete.
|
104
104
|
"""
|
@@ -106,7 +106,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
106
106
|
|
107
107
|
def get_query(self, query_id: str) -> dict:
|
108
108
|
"""
|
109
|
-
|
109
|
+
Retrieve a stored query.
|
110
110
|
|
111
111
|
:param query_id: Query ID to retrieve.
|
112
112
|
"""
|
@@ -114,13 +114,13 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
114
114
|
return response
|
115
115
|
|
116
116
|
def list_queries(self) -> list[dict]:
|
117
|
-
"""
|
117
|
+
"""Retrieve stored queries."""
|
118
118
|
response = self.get_conn().queries().list().execute(num_retries=self.num_retries)
|
119
119
|
return response.get("queries", [])
|
120
120
|
|
121
121
|
def run_query(self, query_id: str, params: dict[str, Any] | None) -> dict:
|
122
122
|
"""
|
123
|
-
|
123
|
+
Run a stored query to generate a report.
|
124
124
|
|
125
125
|
:param query_id: Query ID to run.
|
126
126
|
:param params: Parameters for the report.
|
@@ -131,7 +131,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
131
131
|
|
132
132
|
def get_report(self, query_id: str, report_id: str) -> dict:
|
133
133
|
"""
|
134
|
-
|
134
|
+
Retrieve a report.
|
135
135
|
|
136
136
|
:param query_id: Query ID for which report was generated.
|
137
137
|
:param report_id: Report ID to retrieve.
|
@@ -146,7 +146,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
146
146
|
|
147
147
|
def upload_line_items(self, line_items: Any) -> list[dict[str, Any]]:
|
148
148
|
"""
|
149
|
-
|
149
|
+
Upload line items in CSV format.
|
150
150
|
|
151
151
|
:param line_items: downloaded data from GCS and passed to the body request
|
152
152
|
:return: response body.
|
@@ -167,7 +167,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
167
167
|
|
168
168
|
def download_line_items(self, request_body: dict[str, Any]) -> list[Any]:
|
169
169
|
"""
|
170
|
-
|
170
|
+
Retrieve line items in CSV format.
|
171
171
|
|
172
172
|
:param request_body: dictionary with parameters that should be passed into.
|
173
173
|
More information about it can be found here:
|
@@ -183,7 +183,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
183
183
|
|
184
184
|
def create_sdf_download_operation(self, body_request: dict[str, Any]) -> dict[str, Any]:
|
185
185
|
"""
|
186
|
-
|
186
|
+
Create an SDF Download Task and Returns an Operation.
|
187
187
|
|
188
188
|
:param body_request: Body request.
|
189
189
|
|
@@ -200,7 +200,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
200
200
|
|
201
201
|
def get_sdf_download_operation(self, operation_name: str):
|
202
202
|
"""
|
203
|
-
|
203
|
+
Get the latest state of an asynchronous SDF download task operation.
|
204
204
|
|
205
205
|
:param operation_name: The name of the operation resource.
|
206
206
|
"""
|
@@ -215,7 +215,7 @@ class GoogleDisplayVideo360Hook(GoogleBaseHook):
|
|
215
215
|
|
216
216
|
def download_media(self, resource_name: str):
|
217
217
|
"""
|
218
|
-
|
218
|
+
Download media.
|
219
219
|
|
220
220
|
:param resource_name: of the media that is being downloaded.
|
221
221
|
"""
|
@@ -45,7 +45,7 @@ class GoogleSearchAdsHook(GoogleBaseHook):
|
|
45
45
|
self.api_version = api_version
|
46
46
|
|
47
47
|
def get_conn(self):
|
48
|
-
"""
|
48
|
+
"""Retrieve connection to Google SearchAds."""
|
49
49
|
if not self._conn:
|
50
50
|
http_authorized = self._authorize()
|
51
51
|
self._conn = build(
|
@@ -58,7 +58,7 @@ class GoogleSearchAdsHook(GoogleBaseHook):
|
|
58
58
|
|
59
59
|
def insert_report(self, report: dict[str, Any]) -> Any:
|
60
60
|
"""
|
61
|
-
|
61
|
+
Insert a report request into the reporting system.
|
62
62
|
|
63
63
|
:param report: Report to be generated.
|
64
64
|
"""
|
@@ -67,7 +67,7 @@ class GoogleSearchAdsHook(GoogleBaseHook):
|
|
67
67
|
|
68
68
|
def get(self, report_id: str) -> Any:
|
69
69
|
"""
|
70
|
-
|
70
|
+
Poll for the status of a report request.
|
71
71
|
|
72
72
|
:param report_id: ID of the report request being polled.
|
73
73
|
"""
|
@@ -76,7 +76,7 @@ class GoogleSearchAdsHook(GoogleBaseHook):
|
|
76
76
|
|
77
77
|
def get_file(self, report_fragment: int, report_id: str) -> Any:
|
78
78
|
"""
|
79
|
-
|
79
|
+
Download a report file encoded in UTF-8.
|
80
80
|
|
81
81
|
:param report_fragment: The index of the report fragment to download.
|
82
82
|
:param report_id: ID of the report.
|
@@ -19,10 +19,11 @@
|
|
19
19
|
from __future__ import annotations
|
20
20
|
|
21
21
|
import csv
|
22
|
-
import warnings
|
23
22
|
from tempfile import NamedTemporaryFile
|
24
23
|
from typing import TYPE_CHECKING, Any, Sequence
|
25
24
|
|
25
|
+
from deprecated import deprecated
|
26
|
+
|
26
27
|
from airflow.exceptions import AirflowProviderDeprecationWarning
|
27
28
|
from airflow.models import BaseOperator
|
28
29
|
from airflow.providers.google.cloud.hooks.gcs import GCSHook
|
@@ -32,6 +33,13 @@ if TYPE_CHECKING:
|
|
32
33
|
from airflow.utils.context import Context
|
33
34
|
|
34
35
|
|
36
|
+
@deprecated(
|
37
|
+
reason=(
|
38
|
+
"The `GoogleAnalyticsListAccountsOperator` class is deprecated, please use "
|
39
|
+
"`GoogleAnalyticsAdminListAccountsOperator` instead."
|
40
|
+
),
|
41
|
+
category=AirflowProviderDeprecationWarning,
|
42
|
+
)
|
35
43
|
class GoogleAnalyticsListAccountsOperator(BaseOperator):
|
36
44
|
"""
|
37
45
|
Lists all accounts to which the user has access.
|
@@ -76,13 +84,6 @@ class GoogleAnalyticsListAccountsOperator(BaseOperator):
|
|
76
84
|
impersonation_chain: str | Sequence[str] | None = None,
|
77
85
|
**kwargs,
|
78
86
|
) -> None:
|
79
|
-
warnings.warn(
|
80
|
-
f"The `{type(self).__name__}` operator is deprecated, please use "
|
81
|
-
f"`GoogleAnalyticsAdminListAccountsOperator` instead.",
|
82
|
-
AirflowProviderDeprecationWarning,
|
83
|
-
stacklevel=2,
|
84
|
-
)
|
85
|
-
|
86
87
|
super().__init__(**kwargs)
|
87
88
|
|
88
89
|
self.api_version = api_version
|
@@ -99,6 +100,13 @@ class GoogleAnalyticsListAccountsOperator(BaseOperator):
|
|
99
100
|
return result
|
100
101
|
|
101
102
|
|
103
|
+
@deprecated(
|
104
|
+
reason=(
|
105
|
+
"The `GoogleAnalyticsGetAdsLinkOperator` class is deprecated, please use "
|
106
|
+
"`GoogleAnalyticsAdminGetGoogleAdsLinkOperator` instead."
|
107
|
+
),
|
108
|
+
category=AirflowProviderDeprecationWarning,
|
109
|
+
)
|
102
110
|
class GoogleAnalyticsGetAdsLinkOperator(BaseOperator):
|
103
111
|
"""
|
104
112
|
Returns a web property-Google Ads link to which the user has access.
|
@@ -149,12 +157,6 @@ class GoogleAnalyticsGetAdsLinkOperator(BaseOperator):
|
|
149
157
|
**kwargs,
|
150
158
|
):
|
151
159
|
super().__init__(**kwargs)
|
152
|
-
warnings.warn(
|
153
|
-
f"The `{type(self).__name__}` operator is deprecated, please use "
|
154
|
-
f"`GoogleAnalyticsAdminGetGoogleAdsLinkOperator` instead.",
|
155
|
-
AirflowProviderDeprecationWarning,
|
156
|
-
stacklevel=2,
|
157
|
-
)
|
158
160
|
|
159
161
|
self.account_id = account_id
|
160
162
|
self.web_property_ad_words_link_id = web_property_ad_words_link_id
|
@@ -177,6 +179,13 @@ class GoogleAnalyticsGetAdsLinkOperator(BaseOperator):
|
|
177
179
|
return result
|
178
180
|
|
179
181
|
|
182
|
+
@deprecated(
|
183
|
+
reason=(
|
184
|
+
"The `GoogleAnalyticsRetrieveAdsLinksListOperator` class is deprecated, please use "
|
185
|
+
"`GoogleAnalyticsAdminListGoogleAdsLinksOperator` instead."
|
186
|
+
),
|
187
|
+
category=AirflowProviderDeprecationWarning,
|
188
|
+
)
|
180
189
|
class GoogleAnalyticsRetrieveAdsLinksListOperator(BaseOperator):
|
181
190
|
"""
|
182
191
|
Lists webProperty-Google Ads links for a given web property.
|
@@ -224,12 +233,6 @@ class GoogleAnalyticsRetrieveAdsLinksListOperator(BaseOperator):
|
|
224
233
|
**kwargs,
|
225
234
|
) -> None:
|
226
235
|
super().__init__(**kwargs)
|
227
|
-
warnings.warn(
|
228
|
-
f"The `{type(self).__name__}` operator is deprecated, please use "
|
229
|
-
f"`GoogleAnalyticsAdminListGoogleAdsLinksOperator` instead.",
|
230
|
-
AirflowProviderDeprecationWarning,
|
231
|
-
stacklevel=2,
|
232
|
-
)
|
233
236
|
|
234
237
|
self.account_id = account_id
|
235
238
|
self.web_property_id = web_property_id
|
@@ -250,6 +253,13 @@ class GoogleAnalyticsRetrieveAdsLinksListOperator(BaseOperator):
|
|
250
253
|
return result
|
251
254
|
|
252
255
|
|
256
|
+
@deprecated(
|
257
|
+
reason=(
|
258
|
+
"The `GoogleAnalyticsDataImportUploadOperator` class is deprecated, please use "
|
259
|
+
"`GoogleAnalyticsAdminCreateDataStreamOperator` instead."
|
260
|
+
),
|
261
|
+
category=AirflowProviderDeprecationWarning,
|
262
|
+
)
|
253
263
|
class GoogleAnalyticsDataImportUploadOperator(BaseOperator):
|
254
264
|
"""
|
255
265
|
Take a file from Cloud Storage and uploads it to GA via data import API.
|
@@ -303,12 +313,6 @@ class GoogleAnalyticsDataImportUploadOperator(BaseOperator):
|
|
303
313
|
impersonation_chain: str | Sequence[str] | None = None,
|
304
314
|
**kwargs,
|
305
315
|
) -> None:
|
306
|
-
warnings.warn(
|
307
|
-
f"The `{type(self).__name__}` operator is deprecated, please use "
|
308
|
-
f"`GoogleAnalyticsAdminCreateDataStreamOperator` instead.",
|
309
|
-
AirflowProviderDeprecationWarning,
|
310
|
-
stacklevel=2,
|
311
|
-
)
|
312
316
|
super().__init__(**kwargs)
|
313
317
|
self.storage_bucket = storage_bucket
|
314
318
|
self.storage_name_object = storage_name_object
|
@@ -356,6 +360,13 @@ class GoogleAnalyticsDataImportUploadOperator(BaseOperator):
|
|
356
360
|
)
|
357
361
|
|
358
362
|
|
363
|
+
@deprecated(
|
364
|
+
reason=(
|
365
|
+
"The `GoogleAnalyticsDeletePreviousDataUploadsOperator` class is deprecated, please use "
|
366
|
+
"`GoogleAnalyticsAdminDeleteDataStreamOperator` instead."
|
367
|
+
),
|
368
|
+
category=AirflowProviderDeprecationWarning,
|
369
|
+
)
|
359
370
|
class GoogleAnalyticsDeletePreviousDataUploadsOperator(BaseOperator):
|
360
371
|
"""
|
361
372
|
Deletes previous GA uploads to leave the latest file to control the size of the Data Set Quota.
|
@@ -395,12 +406,6 @@ class GoogleAnalyticsDeletePreviousDataUploadsOperator(BaseOperator):
|
|
395
406
|
impersonation_chain: str | Sequence[str] | None = None,
|
396
407
|
**kwargs,
|
397
408
|
) -> None:
|
398
|
-
warnings.warn(
|
399
|
-
f"The `{type(self).__name__}` operator is deprecated, please use "
|
400
|
-
f"`GoogleAnalyticsAdminDeleteDataStreamOperator` instead.",
|
401
|
-
AirflowProviderDeprecationWarning,
|
402
|
-
stacklevel=2,
|
403
|
-
)
|
404
409
|
super().__init__(**kwargs)
|
405
410
|
|
406
411
|
self.account_id = account_id
|
@@ -69,7 +69,7 @@ class GoogleCalendarHook(GoogleBaseHook):
|
|
69
69
|
|
70
70
|
def get_conn(self) -> Any:
|
71
71
|
"""
|
72
|
-
|
72
|
+
Retrieve connection to Google Calendar.
|
73
73
|
|
74
74
|
:return: Google Calendar services object.
|
75
75
|
"""
|
@@ -99,7 +99,7 @@ class GoogleCalendarHook(GoogleBaseHook):
|
|
99
99
|
updated_min: datetime | None = None,
|
100
100
|
) -> list:
|
101
101
|
"""
|
102
|
-
|
102
|
+
Get events from Google Calendar from a single calendar_id.
|
103
103
|
|
104
104
|
https://developers.google.com/calendar/api/v3/reference/events/list
|
105
105
|
|
@@ -64,7 +64,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
64
64
|
|
65
65
|
def get_conn(self) -> Any:
|
66
66
|
"""
|
67
|
-
|
67
|
+
Retrieve the connection to Google Drive.
|
68
68
|
|
69
69
|
:return: Google Drive services object.
|
70
70
|
"""
|
@@ -132,7 +132,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
132
132
|
|
133
133
|
def get_media_request(self, file_id: str) -> HttpRequest:
|
134
134
|
"""
|
135
|
-
|
135
|
+
Return a get_media http request to a Google Drive object.
|
136
136
|
|
137
137
|
:param file_id: The Google Drive file id
|
138
138
|
:return: request
|
@@ -145,7 +145,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
145
145
|
self, folder_id: str, file_name: str, drive_id: str | None = None, *, include_trashed: bool = True
|
146
146
|
) -> bool:
|
147
147
|
"""
|
148
|
-
|
148
|
+
Check to see if a file exists within a Google Drive folder.
|
149
149
|
|
150
150
|
:param folder_id: The id of the Google Drive folder in which the file resides
|
151
151
|
:param file_name: The name of a file in Google Drive
|
@@ -162,7 +162,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
162
162
|
|
163
163
|
def _get_file_info(self, file_id: str):
|
164
164
|
"""
|
165
|
-
|
165
|
+
Return Google API file_info object containing id, name, parents in the response.
|
166
166
|
|
167
167
|
https://developers.google.com/drive/api/v3/reference/files/get
|
168
168
|
|
@@ -183,7 +183,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
183
183
|
|
184
184
|
def _resolve_file_path(self, file_id: str) -> str:
|
185
185
|
"""
|
186
|
-
|
186
|
+
Return the full Google Drive path for given file_id.
|
187
187
|
|
188
188
|
:param file_id: The id of a file in Google Drive
|
189
189
|
:return: Google Drive full path for a file
|
@@ -211,7 +211,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
211
211
|
self, folder_id: str, file_name: str, drive_id: str | None = None, *, include_trashed: bool = True
|
212
212
|
) -> dict:
|
213
213
|
"""
|
214
|
-
|
214
|
+
Return the file id of a Google Drive file.
|
215
215
|
|
216
216
|
:param folder_id: The id of the Google Drive folder in which the file resides
|
217
217
|
:param file_name: The name of a file in Google Drive
|
@@ -264,7 +264,7 @@ class GoogleDriveHook(GoogleBaseHook):
|
|
264
264
|
show_full_target_path: bool = True,
|
265
265
|
) -> str:
|
266
266
|
"""
|
267
|
-
|
267
|
+
Upload a file that is available locally to a Google Drive service.
|
268
268
|
|
269
269
|
:param local_location: The path where the file is available.
|
270
270
|
:param remote_location: The path where the file will be send
|
@@ -66,7 +66,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
66
66
|
|
67
67
|
def get_conn(self) -> Any:
|
68
68
|
"""
|
69
|
-
|
69
|
+
Retrieve connection to Google Sheets.
|
70
70
|
|
71
71
|
:return: Google Sheets services object.
|
72
72
|
"""
|
@@ -85,7 +85,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
85
85
|
date_time_render_option: str = "SERIAL_NUMBER",
|
86
86
|
) -> list:
|
87
87
|
"""
|
88
|
-
|
88
|
+
Get values from Google Sheet from a single range.
|
89
89
|
|
90
90
|
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get
|
91
91
|
|
@@ -125,7 +125,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
125
125
|
date_time_render_option: str = "SERIAL_NUMBER",
|
126
126
|
) -> dict:
|
127
127
|
"""
|
128
|
-
|
128
|
+
Get values from Google Sheet from a list of ranges.
|
129
129
|
|
130
130
|
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet
|
131
131
|
|
@@ -168,7 +168,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
168
168
|
date_time_render_option: str = "SERIAL_NUMBER",
|
169
169
|
) -> dict:
|
170
170
|
"""
|
171
|
-
|
171
|
+
Update values from Google Sheet from a single range.
|
172
172
|
|
173
173
|
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update
|
174
174
|
|
@@ -219,7 +219,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
219
219
|
date_time_render_option: str = "SERIAL_NUMBER",
|
220
220
|
) -> dict:
|
221
221
|
"""
|
222
|
-
|
222
|
+
Update values from Google Sheet for multiple ranges.
|
223
223
|
|
224
224
|
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate
|
225
225
|
|
@@ -365,7 +365,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
365
365
|
|
366
366
|
def get_spreadsheet(self, spreadsheet_id: str):
|
367
367
|
"""
|
368
|
-
|
368
|
+
Retrieve spreadsheet matching the given id.
|
369
369
|
|
370
370
|
:param spreadsheet_id: The spreadsheet id.
|
371
371
|
:return: An spreadsheet that matches the sheet filter.
|
@@ -380,7 +380,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
380
380
|
|
381
381
|
def get_sheet_titles(self, spreadsheet_id: str, sheet_filter: list[str] | None = None):
|
382
382
|
"""
|
383
|
-
|
383
|
+
Retrieve the sheet titles from a spreadsheet matching the given id and sheet filter.
|
384
384
|
|
385
385
|
:param spreadsheet_id: The spreadsheet id.
|
386
386
|
:param sheet_filter: List of sheet title to retrieve from sheet.
|
@@ -401,7 +401,7 @@ class GSheetsHook(GoogleBaseHook):
|
|
401
401
|
|
402
402
|
def create_spreadsheet(self, spreadsheet: dict[str, Any]) -> dict[str, Any]:
|
403
403
|
"""
|
404
|
-
|
404
|
+
Create a spreadsheet, returning the newly created spreadsheet.
|
405
405
|
|
406
406
|
:param spreadsheet: an instance of Spreadsheet
|
407
407
|
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#Spreadsheet
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-google
|
3
|
-
Version: 10.
|
3
|
+
Version: 10.15.0rc1
|
4
4
|
Summary: Provider package apache-airflow-providers-google for Apache Airflow
|
5
5
|
Keywords: airflow-provider,google,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -30,7 +30,7 @@ Requires-Dist: gcloud-aio-storage>=9.0.0
|
|
30
30
|
Requires-Dist: gcsfs>=2023.10.0
|
31
31
|
Requires-Dist: google-ads>=22.1.0
|
32
32
|
Requires-Dist: google-analytics-admin
|
33
|
-
Requires-Dist: google-api-core>=2.11.0
|
33
|
+
Requires-Dist: google-api-core>=2.11.0,!=2.16.0
|
34
34
|
Requires-Dist: google-api-python-client>=1.6.0
|
35
35
|
Requires-Dist: google-auth-httplib2>=0.0.1
|
36
36
|
Requires-Dist: google-auth>=1.0.0
|
@@ -99,8 +99,8 @@ Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
|
|
99
99
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
100
100
|
Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
|
101
101
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
102
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
103
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
102
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.15.0/changelog.html
|
103
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.15.0
|
104
104
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
105
105
|
Project-URL: Source Code, https://github.com/apache/airflow
|
106
106
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -168,7 +168,7 @@ Provides-Extra: trino
|
|
168
168
|
|
169
169
|
Package ``apache-airflow-providers-google``
|
170
170
|
|
171
|
-
Release: ``10.
|
171
|
+
Release: ``10.15.0.rc1``
|
172
172
|
|
173
173
|
|
174
174
|
Google services including:
|
@@ -188,7 +188,7 @@ This is a provider package for ``google`` provider. All classes for this provide
|
|
188
188
|
are in ``airflow.providers.google`` python package.
|
189
189
|
|
190
190
|
You can find package information and changelog for the provider
|
191
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
191
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.15.0/>`_.
|
192
192
|
|
193
193
|
Installation
|
194
194
|
------------
|
@@ -202,9 +202,9 @@ The package supports the following python versions: 3.8,3.9,3.10,3.11
|
|
202
202
|
Requirements
|
203
203
|
------------
|
204
204
|
|
205
|
-
=======================================
|
205
|
+
======================================= =====================
|
206
206
|
PIP package Version required
|
207
|
-
=======================================
|
207
|
+
======================================= =====================
|
208
208
|
``apache-airflow`` ``>=2.6.0``
|
209
209
|
``apache-airflow-providers-common-sql`` ``>=1.7.2``
|
210
210
|
``asgiref`` ``>=3.5.2``
|
@@ -214,7 +214,7 @@ PIP package Version required
|
|
214
214
|
``gcsfs`` ``>=2023.10.0``
|
215
215
|
``google-ads`` ``>=22.1.0``
|
216
216
|
``google-analytics-admin``
|
217
|
-
``google-api-core`` ``>=2.11.0``
|
217
|
+
``google-api-core`` ``>=2.11.0,!=2.16.0``
|
218
218
|
``google-api-python-client`` ``>=1.6.0``
|
219
219
|
``google-auth`` ``>=1.0.0``
|
220
220
|
``google-auth-httplib2`` ``>=0.0.1``
|
@@ -264,7 +264,7 @@ PIP package Version required
|
|
264
264
|
``PyOpenSSL``
|
265
265
|
``sqlalchemy-bigquery`` ``>=1.2.1``
|
266
266
|
``sqlalchemy-spanner`` ``>=1.6.2``
|
267
|
-
=======================================
|
267
|
+
======================================= =====================
|
268
268
|
|
269
269
|
Cross provider package dependencies
|
270
270
|
-----------------------------------
|
@@ -302,4 +302,4 @@ Dependent package
|
|
302
302
|
======================================================================================================================== ====================
|
303
303
|
|
304
304
|
The changelog for the provider package can be found in the
|
305
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
305
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.15.0/changelog.html>`_.
|