Google Display & Video 360 Operators

Google Display & Video 360 擁有您所需的端到端營銷活動管理功能。

前置任務

要使用這些 Operators,您必須執行以下幾項操作

建立查詢

要建立 Display&Video 360 查詢,請使用 GoogleDisplayVideo360CreateQueryOperator

tests/system/google/marketing_platform/example_display_video.py

create_query_v2 = GoogleDisplayVideo360CreateQueryOperator(body=REPORT_V2, task_id="create_query")

query_id = cast("str", XComArg(create_query_v2, key="query_id"))

body, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。您可以提供使用 `` .json`` 檔案定義的 body,因為此 Operator 支援此模板擴充套件。結果將儲存到 XCom 中,其他 Operator 可以使用該結果。

執行查詢

GoogleDisplayVideo360RunQueryOperator.

tests/system/google/marketing_platform/example_display_video.py

run_query_v2 = GoogleDisplayVideo360RunQueryOperator(
    query_id=query_id, parameters=PARAMETERS, task_id="run_report"
)

query_id = cast("str", XComArg(run_query_v2, key="query_id"))
report_id = cast("str", XComArg(run_query_v2, key="report_id"))

query_id, parameters, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。結果將儲存到 XCom 中,其他 Operator 可以使用該結果。

刪除報告

要刪除 Display&Video 360 報告,請使用 GoogleDisplayVideo360DeleteReportOperator

tests/system/google/marketing_platform/example_display_video.py

delete_report_v2 = GoogleDisplayVideo360DeleteReportOperator(
    report_id=report_id, task_id="delete_report", trigger_rule=TriggerRule.ALL_DONE
)

report_id, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

等待查詢

要等待報告,請使用 GoogleDisplayVideo360RunQuerySensor

tests/system/google/marketing_platform/example_display_video.py

wait_for_query = GoogleDisplayVideo360RunQuerySensor(
    task_id="wait_for_query",
    query_id=query_id,
    report_id=report_id,
)

query_id, report_id, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

下載報告

要將報告下載到 GCS bucket,請使用 GoogleDisplayVideo360DownloadReportV2Operator

tests/system/google/marketing_platform/example_display_video.py

get_report_v2 = GoogleDisplayVideo360DownloadReportV2Operator(
    query_id=query_id,
    report_id=report_id,
    task_id="get_report",
    bucket_name=BUCKET_NAME,
    report_name="test1.csv",
)

query_id, report_id, bucket_name, report_name, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

下載訂單項

此 Operator 接受 body request

  • Google API 一致

    REQUEST_BODY = {
    "filterType": ADVERTISER_ID,
    "format": "CSV",
    "fileSpec": "EWF"
    }
    

要下載 CSV 格式的訂單項報告,請使用 GoogleDisplayVideo360DownloadLineItemsOperator

tests/system/google/marketing_platform/example_display_video.py

download_line_items = GoogleDisplayVideo360DownloadLineItemsOperator(
    task_id="download_line_items",
    request_body=DOWNLOAD_LINE_ITEMS_REQUEST,
    bucket_name=BUCKET_NAME,
    object_name=OBJECT_NAME,
    gzip=False,
)

request_body, bucket_name, object_name, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

上傳訂單項

要執行 Display&Video 360 訂單項上傳,請使用 GoogleDisplayVideo360UploadLineItemsOperator

tests/system/google/marketing_platform/example_display_video.py

upload_line_items = GoogleDisplayVideo360UploadLineItemsOperator(
    task_id="upload_line_items",
    bucket_name=BUCKET_NAME,
    object_name=BUCKET_FILE_LOCATION,
)

bucket_name, object_name, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

建立 SDF 下載任務

要建立 SDF 下載任務,請使用 GoogleDisplayVideo360CreateSDFDownloadTaskOperator

tests/system/google/marketing_platform/example_display_video.py

create_sdf_download_task = GoogleDisplayVideo360CreateSDFDownloadTaskOperator(
    task_id="create_sdf_download_task", body_request=CREATE_SDF_DOWNLOAD_TASK_BODY_REQUEST
)
operation_name = '{{ task_instance.xcom_pull("create_sdf_download_task")["name"] }}'

body_request, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

將 SDF 檔案儲存在 Google Cloud Storage 中

要儲存 SDF 檔案並將其儲存在 Google Cloud Storage 中,請使用 GoogleDisplayVideo360SDFtoGCSOperator

tests/system/google/marketing_platform/example_display_video.py

save_sdf_in_gcs = GoogleDisplayVideo360SDFtoGCSOperator(
    task_id="save_sdf_in_gcs",
    operation_name=operation_name,
    bucket_name=BUCKET_NAME,
    object_name=BUCKET_FILE_LOCATION,
    gzip=False,
)

operation_name, bucket_name, object_name, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

等待 SDF 操作

透過以下方式執行等待 SDF 操作:GoogleDisplayVideo360GetSDFDownloadOperationSensor

tests/system/google/marketing_platform/example_display_video.py

wait_for_operation = GoogleDisplayVideo360GetSDFDownloadOperationSensor(
    task_id="wait_for_operation",
    operation_name=operation_name,
)

operation_name, impersonation_chain 引數使用 Jinja 模板,這些引數允許您動態確定值。

此條目是否有幫助?