תבנית Google Ads ל-BigQuery

תבנית הצינור של Google Ads ל-BigQuery היא צינור אצווה שקורא דוחות של Google Ads וכותב ל-BigQuery.

הדרישות לגבי צינורות עיבוד נתונים

  • מספרי החשבונות ב-Google Ads שבהם רוצים להשתמש.
  • השאילתה בשפת השאילתות של Google Ads שבאמצעותה מתקבלים הנתונים.
  • פרטי כניסה ל-Google Ads API דרך OAuth.

פרמטרים של תבניות

פרמטרים נדרשים

פרמטרים אופציונליים

  • loginCustomerId: מספר חשבון ניהול ב-Google Ads שמשמש לגישה למספרי החשבונות. לדוגמה, 12345.
  • bigQueryTableSchemaPath: הנתיב ב-Cloud Storage לקובץ ה-JSON של סכימת BigQuery. אם הערך הזה לא מוגדר, הסכימה נגזרת מסכימת ה-Proto. לדוגמה, gs://MyBucket/bq_schema.json.
  • writeDisposition: הערך של BigQuery WriteDisposition (https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobconfigurationload). לדוגמה, WRITE_APPEND,‏ WRITE_EMPTY או WRITE_TRUNCATE. ברירת המחדל היא WRITE_APPEND.
  • createDisposition: ‏BigQuery CreateDisposition (https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobconfigurationload). לדוגמה, CREATE_IF_NEEDED ו-CREATE_NEVER. ברירת המחדל היא CREATE_IF_NEEDED.

הרצת התבנית

המסוף

  1. עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow.
  2. כניסה לדף Create job from template
  3. בשדה שם המשימה, מזינים שם ייחודי למשימה.
  4. אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא us-central1.

    רשימת האזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר בנושא מיקומי Dataflow.

  5. בתפריט הנפתח Dataflow template (תבנית Dataflow), בוחרים בתבנית Google Ads to BigQuery (מ-Google Ads אל BigQuery).
  6. בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
  7. לוחצים על הפעלת העבודה.

gcloud

במעטפת או בטרמינל, מריצים את התבנית:

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/ \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       customerIds=CUSTOMER_IDS,\
       query=QUERY,\
       qpsPerWorker=QPS_PER_WORKER,\
       googleAdsClientId=GOOGLE_ADS_CLIENT_ID,\
       googleAdsClientSecret=GOOGLE_ADS_CLIENT_SECRET,\
       googleAdsRefreshToken=GOOGLE_ADS_REFRESH_TOKEN,\
       googleAdsDeveloperToken=GOOGLE_ADS_DEVELOPER_TOKEN,\
       outputTableSpec=OUTPUT_TABLE_SPEC,\

מחליפים את מה שכתוב בשדות הבאים:

  • JOB_NAME: שם ייחודי של המשימה לפי בחירתכם
  • VERSION: הגרסה של התבנית שבה רוצים להשתמש

    אפשר להשתמש בערכים הבאים:

    • latest כדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית האב ללא תאריך בדלי – gs://dataflow-templates-REGION_NAME/latest/
    • שם הגרסה, כמו 2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית, שאפשר למצוא אותה בתיקיית האב המתאימה עם התאריך בדלי – gs://dataflow-templates-REGION_NAME/
  • REGION_NAME: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה: us-central1
  • CUSTOMER_IDS: מספרי חשבונות Google Ads
  • QUERY: השאילתה בשפת השאילתות של Google Ads
  • QPS_PER_WORKER: קצב הבקשות הנדרש ב-Google Ads לכל עובד
  • GOOGLE_ADS_CLIENT_ID: מזהה הלקוח ב-OAuth 2.0 שמזהה את האפליקציה
  • GOOGLE_ADS_CLIENT_SECRET: הסוד של לקוח OAuth 2.0 שתואם למזהה הלקוח שצוין
  • GOOGLE_ADS_REFRESH_TOKEN: טוקן הרענון של OAuth 2.0 שמשמש לחיבור אל Google Ads API
  • GOOGLE_ADS_DEVELOPER_TOKEN: קוד המפתח למפתחים ב-Google Ads שמשמש לחיבור אל Google Ads API
  • OUTPUT_TABLE_SPEC: טבלת הפלט ב-BigQuery

API

כדי להריץ את התבנית באמצעות API בארכיטקטורת REST, שולחים בקשת HTTP POST. מידע נוסף על ה-API ועל היקפי ההרשאות שלו זמין במאמר projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "customerIds": "CUSTOMER_IDS",
       "query": "QUERY",
       "qpsPerWorker": "QPS_PER_WORKER",
       "googleAdsClientId": "GOOGLE_ADS_CLIENT_ID",
       "googleAdsClientSecret": "GOOGLE_ADS_CLIENT_SECRET",
       "googleAdsRefreshToken": "GOOGLE_ADS_REFRESH_TOKEN",
       "googleAdsDeveloperToken": "GOOGLE_ADS_DEVELOPER_TOKEN",
       "outputTableSpec": "OUTPUT_TABLE_SPEC",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/",
     "environment": { "maxWorkers": "10" }
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו רוצים להריץ את משימת Dataflow Google Cloud
  • JOB_NAME: שם ייחודי של המשימה לפי בחירתכם
  • VERSION: הגרסה של התבנית שבה רוצים להשתמש

    אפשר להשתמש בערכים הבאים:

    • latest כדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית האב ללא תאריך בדלי – gs://dataflow-templates-REGION_NAME/latest/
    • שם הגרסה, כמו 2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית, שאפשר למצוא אותה בתיקיית האב המתאימה עם התאריך בדלי – gs://dataflow-templates-REGION_NAME/
  • LOCATION: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה: us-central1
  • CUSTOMER_IDS: מספרי חשבונות Google Ads
  • QUERY: השאילתה בשפת השאילתות של Google Ads
  • QPS_PER_WORKER: קצב הבקשות הנדרש ב-Google Ads לכל עובד
  • GOOGLE_ADS_CLIENT_ID: מזהה הלקוח ב-OAuth 2.0 שמזהה את האפליקציה
  • GOOGLE_ADS_CLIENT_SECRET: הסוד של לקוח OAuth 2.0 שתואם למזהה הלקוח שצוין
  • GOOGLE_ADS_REFRESH_TOKEN: טוקן הרענון של OAuth 2.0 שמשמש לחיבור אל Google Ads API
  • GOOGLE_ADS_DEVELOPER_TOKEN: קוד המפתח למפתחים ב-Google Ads שמשמש לחיבור אל Google Ads API
  • OUTPUT_TABLE_SPEC: טבלת הפלט ב-BigQuery

המאמרים הבאים