Google Ads to 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:提交到 Google Ads 的每秒查询请求数 (QPS) 速率。用所需的每个流水线 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 基于模板创建作业页面。 转到“基于模板创建作业”
- 在作业名称字段中,输入唯一的作业名称。
- 可选:对于区域性端点,从下拉菜单中选择一个值。默认区域为
us-central1
。如需查看可以在其中运行 Dataflow 作业的区域列表,请参阅 Dataflow 位置。
- 从 Dataflow 模板下拉菜单中,选择 the Google Ads to BigQuery template。
- 在提供的参数字段中,输入您的参数值。
- 点击运行作业。
gcloud
在 shell 或终端中,运行模板:
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 作业的 Google Cloud 项目的 IDJOB_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 提供的模板列表。