Skip to content

Commit 57c09e5

Browse files
author
Łukasz Wyszomirski
authored
Display Video 360 cleanup v1 API usage (#30577)
* Display Video 360 cleanup v1 API usage * Update docs
1 parent 6f2277c commit 57c09e5

File tree

9 files changed

+25
-758
lines changed

9 files changed

+25
-758
lines changed

airflow/providers/google/marketing_platform/example_dags/example_display_video.py

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,16 @@
3030
from airflow.providers.google.marketing_platform.hooks.display_video import GoogleDisplayVideo360Hook
3131
from airflow.providers.google.marketing_platform.operators.display_video import (
3232
GoogleDisplayVideo360CreateQueryOperator,
33-
GoogleDisplayVideo360CreateReportOperator,
3433
GoogleDisplayVideo360CreateSDFDownloadTaskOperator,
3534
GoogleDisplayVideo360DeleteReportOperator,
3635
GoogleDisplayVideo360DownloadLineItemsOperator,
37-
GoogleDisplayVideo360DownloadReportOperator,
3836
GoogleDisplayVideo360DownloadReportV2Operator,
3937
GoogleDisplayVideo360RunQueryOperator,
40-
GoogleDisplayVideo360RunReportOperator,
4138
GoogleDisplayVideo360SDFtoGCSOperator,
4239
GoogleDisplayVideo360UploadLineItemsOperator,
4340
)
4441
from airflow.providers.google.marketing_platform.sensors.display_video import (
4542
GoogleDisplayVideo360GetSDFDownloadOperationSensor,
46-
GoogleDisplayVideo360ReportSensor,
4743
GoogleDisplayVideo360RunQuerySensor,
4844
)
4945

@@ -60,24 +56,6 @@
6056
ENTITY_TYPE = os.environ.get("GMP_ENTITY_TYPE", "LineItem")
6157
ERF_SOURCE_OBJECT = GoogleDisplayVideo360Hook.erf_uri(GMP_PARTNER_ID, ENTITY_TYPE)
6258

63-
REPORT = {
64-
"kind": "doubleclickbidmanager#query",
65-
"metadata": {
66-
"title": "Polidea Test Report",
67-
"dataRange": "LAST_7_DAYS",
68-
"format": "CSV",
69-
"sendNotification": False,
70-
},
71-
"params": {
72-
"type": "TYPE_GENERAL",
73-
"groupBys": ["FILTER_DATE", "FILTER_PARTNER"],
74-
"filters": [{"type": "FILTER_PARTNER", "value": 1486931}],
75-
"metrics": ["METRIC_IMPRESSIONS", "METRIC_CLICKS"],
76-
"includeInviteData": True,
77-
},
78-
"schedule": {"frequency": "ONE_TIME"},
79-
}
80-
8159
REPORT_V2 = {
8260
"metadata": {
8361
"title": "Airflow Test Report",
@@ -109,48 +87,6 @@
10987

11088
START_DATE = datetime(2021, 1, 1)
11189

112-
with models.DAG(
113-
"example_display_video",
114-
start_date=START_DATE,
115-
catchup=False,
116-
) as dag1:
117-
# [START howto_google_display_video_createquery_report_operator]
118-
create_report = GoogleDisplayVideo360CreateReportOperator(body=REPORT, task_id="create_report")
119-
report_id = cast(str, XComArg(create_report, key="report_id"))
120-
# [END howto_google_display_video_createquery_report_operator]
121-
122-
# [START howto_google_display_video_runquery_report_operator]
123-
run_report = GoogleDisplayVideo360RunReportOperator(
124-
report_id=report_id, parameters=PARAMETERS, task_id="run_report"
125-
)
126-
# [END howto_google_display_video_runquery_report_operator]
127-
128-
# [START howto_google_display_video_wait_report_operator]
129-
wait_for_report = GoogleDisplayVideo360ReportSensor(task_id="wait_for_report", report_id=report_id)
130-
# [END howto_google_display_video_wait_report_operator]
131-
132-
# [START howto_google_display_video_getquery_report_operator]
133-
get_report = GoogleDisplayVideo360DownloadReportOperator(
134-
report_id=report_id,
135-
task_id="get_report",
136-
bucket_name=BUCKET,
137-
report_name="test1.csv",
138-
)
139-
# [END howto_google_display_video_getquery_report_operator]
140-
141-
# [START howto_google_display_video_deletequery_report_operator]
142-
delete_report = GoogleDisplayVideo360DeleteReportOperator(report_id=report_id, task_id="delete_report")
143-
# [END howto_google_display_video_deletequery_report_operator]
144-
145-
run_report >> wait_for_report >> get_report >> delete_report
146-
147-
# Task dependencies created via `XComArgs`:
148-
# create_report >> run_report
149-
# create_report >> wait_for_report
150-
# create_report >> get_report
151-
# create_report >> delete_report
152-
153-
15490
with models.DAG(
15591
"example_display_video_misc",
15692
start_date=START_DATE,

airflow/providers/google/marketing_platform/hooks/display_video.py

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"""This module contains Google DisplayVideo hook."""
1919
from __future__ import annotations
2020

21-
import warnings
2221
from typing import Any, Sequence
2322

2423
from googleapiclient.discovery import Resource, build
@@ -43,11 +42,6 @@ def __init__(
4342
delegate_to=delegate_to,
4443
impersonation_chain=impersonation_chain,
4544
)
46-
if api_version in ["v1", "v1.1"]:
47-
warnings.warn(
48-
f"API {api_version} is deprecated and shortly will be removed please use v2",
49-
DeprecationWarning,
50-
)
5145
self.api_version = api_version
5246

5347
def get_conn(self) -> Resource:
@@ -99,10 +93,7 @@ def create_query(self, query: dict[str, Any]) -> dict:
9993
10094
:param query: Query object to be passed to request body.
10195
"""
102-
if self.api_version in ["v1", "v1.1"]:
103-
response = self.get_conn().queries().createquery(body=query).execute(num_retries=self.num_retries)
104-
else:
105-
response = self.get_conn().queries().create(body=query).execute(num_retries=self.num_retries)
96+
response = self.get_conn().queries().create(body=query).execute(num_retries=self.num_retries)
10697
return response
10798

10899
def delete_query(self, query_id: str) -> None:
@@ -111,31 +102,20 @@ def delete_query(self, query_id: str) -> None:
111102
112103
:param query_id: Query ID to delete.
113104
"""
114-
if self.api_version in ["v1", "v1.1"]:
115-
self.get_conn().queries().deletequery(queryId=query_id).execute(num_retries=self.num_retries)
116-
else:
117-
self.get_conn().queries().delete(queryId=query_id).execute(num_retries=self.num_retries)
105+
self.get_conn().queries().delete(queryId=query_id).execute(num_retries=self.num_retries)
118106

119107
def get_query(self, query_id: str) -> dict:
120108
"""
121109
Retrieves a stored query.
122110
123111
:param query_id: Query ID to retrieve.
124112
"""
125-
if self.api_version in ["v1", "v1.1"]:
126-
response = (
127-
self.get_conn().queries().getquery(queryId=query_id).execute(num_retries=self.num_retries)
128-
)
129-
else:
130-
response = self.get_conn().queries().get(queryId=query_id).execute(num_retries=self.num_retries)
113+
response = self.get_conn().queries().get(queryId=query_id).execute(num_retries=self.num_retries)
131114
return response
132115

133116
def list_queries(self) -> list[dict]:
134117
"""Retrieves stored queries."""
135-
if self.api_version in ["v1", "v1.1"]:
136-
response = self.get_conn().queries().listqueries().execute(num_retries=self.num_retries)
137-
else:
138-
response = self.get_conn().queries().list().execute(num_retries=self.num_retries)
118+
response = self.get_conn().queries().list().execute(num_retries=self.num_retries)
139119
return response.get("queries", [])
140120

141121
def run_query(self, query_id: str, params: dict[str, Any] | None) -> dict:
@@ -145,20 +125,9 @@ def run_query(self, query_id: str, params: dict[str, Any] | None) -> dict:
145125
:param query_id: Query ID to run.
146126
:param params: Parameters for the report.
147127
"""
148-
if self.api_version in ["v1", "v1.1"]:
149-
return (
150-
self.get_conn()
151-
.queries()
152-
.runquery(queryId=query_id, body=params)
153-
.execute(num_retries=self.num_retries)
154-
)
155-
else:
156-
return (
157-
self.get_conn()
158-
.queries()
159-
.run(queryId=query_id, body=params)
160-
.execute(num_retries=self.num_retries)
161-
)
128+
return (
129+
self.get_conn().queries().run(queryId=query_id, body=params).execute(num_retries=self.num_retries)
130+
)
162131

163132
def get_report(self, query_id: str, report_id: str) -> dict:
164133
"""

0 commit comments

Comments
 (0)