「Google Ads 到 BigQuery」範本屬於批次管道,可讀取 Google Ads 報表並寫入 BigQuery。
管道相關規定
- 要使用的 Google Ads 帳戶 ID。
- 用來取得資料的 Google Ads 查詢語言查詢。
- Google Ads API 的 OAuth 憑證。
範本參數
必要參數
- customerIds:用於執行查詢的 Google Ads 帳戶 ID 清單。例如:
12345,67890
。 - query:用於取得資料的查詢。請參閱 Google Ads 查詢語言 (https://developers.google.com/google-ads/api/docs/query/overview)。例如:
SELECT campaign.id, campaign.name FROM campaign
。 - qpsPerWorker:每秒查詢要求率 (QPS),用於提交至 Google Ads。將每個管道的所需 QPS 除以工作站數量上限。避免超出每個帳戶或開發人員權杖的限制。請參閱「速率限制」(https://developers.google.com/google-ads/api/docs/best-practices/rate-limits)。
- googleAdsClientId:用於識別應用程式的 OAuth 2.0 用戶端 ID。請參閱「建立用戶端 ID 和用戶端密鑰」(https://developers.google.com/google-ads/api/docs/oauth/cloud-project#create_a_client_id_and_client_secret)。
- googleAdsClientSecret:與指定用戶端 ID 相對應的 OAuth 2.0 用戶端密鑰。請參閱「建立用戶端 ID 和用戶端密鑰」(https://developers.google.com/google-ads/api/docs/oauth/cloud-project#create_a_client_id_and_client_secret)。
- googleAdsRefreshToken:用於連線至 Google Ads API 的 OAuth 2.0 更新權杖。請參閱兩步驟驗證 (https://developers.google.com/google-ads/api/docs/oauth/2sv)。
- googleAdsDeveloperToken:用於連線至 Google Ads API 的 Google Ads 開發人員權杖。請參閱「取得開發人員權杖」(https://developers.google.com/google-ads/api/docs/get-started/dev-token)。
- outputTableSpec:用於寫入輸出內容的 BigQuery 輸出資料表位置。例如
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
。視指定的createDisposition
而定,系統可能會使用使用者提供的 Avro 結構定義,自動建立輸出資料表。
選用參數
- loginCustomerId:用來存取帳戶 ID 的 Google Ads 管理員帳戶 ID。例如:
12345
。 - bigQueryTableSchemaPath:BigQuery 結構定義 JSON 檔案的 Cloud Storage 路徑。如未設定這個值,系統會從 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
。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。 前往「依據範本建立工作」
- 在「工作名稱」欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1
。如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the Google Ads to BigQuery template。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Google_Ads_to_BigQuery \ --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 帳戶 IDQUERY
:Google Ads 查詢語言查詢QPS_PER_WORKER
:每個工作人員的必要 Google Ads 請求率GOOGLE_ADS_CLIENT_ID
:用於識別應用程式的 OAuth 2.0 用戶端 IDGOOGLE_ADS_CLIENT_SECRET
:與指定用戶端 ID 相對應的 OAuth 2.0 用戶端密鑰GOOGLE_ADS_REFRESH_TOKEN
:用於連線至 Google Ads API 的 OAuth 2.0 更新權杖GOOGLE_ADS_DEVELOPER_TOKEN
:用於連線至 Google Ads API 的 Google Ads 開發人員權杖OUTPUT_TABLE_SPEC
:BigQuery 輸出資料表
API
如要使用 REST API 執行範本,請傳送 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/Google_Ads_to_BigQuery", "environment": { "maxWorkers": "10" } } }
更改下列內容:
PROJECT_ID
: 您要執行 Dataflow 工作的專案 ID Google CloudJOB_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 帳戶 IDQUERY
:Google Ads 查詢語言查詢QPS_PER_WORKER
:每個工作人員的必要 Google Ads 請求率GOOGLE_ADS_CLIENT_ID
:用於識別應用程式的 OAuth 2.0 用戶端 IDGOOGLE_ADS_CLIENT_SECRET
:與指定用戶端 ID 相對應的 OAuth 2.0 用戶端密鑰GOOGLE_ADS_REFRESH_TOKEN
:用於連線至 Google Ads API 的 OAuth 2.0 更新權杖GOOGLE_ADS_DEVELOPER_TOKEN
:用於連線至 Google Ads API 的 Google Ads 開發人員權杖OUTPUT_TABLE_SPEC
:BigQuery 輸出資料表
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。