Google Ads to BigQuery 模板

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 查询语言。例如:SELECT campaign.id, campaign.name FROM campaign
qpsPerWorker 提交到 Google Ads 的每秒查询请求数 (QPS) 速率。用所需的每个流水线 QPS 除以工作器数量上限。避免超出账号或开发者令牌限制。请参阅速率限制
googleAdsClientId 标识应用的 OAuth 2.0 客户端 ID。请参阅创建客户端 ID 和客户端密钥
googleAdsClientSecret 与指定客户端 ID 对应的 OAuth 2.0 客户端密钥。请参阅创建客户端 ID 和客户端密钥
googleAdsRefreshToken 用于连接到 Google Ads API 的 OAuth 2.0 刷新令牌。请参阅两步验证
googleAdsDeveloperToken 用于连接到 Google Ads API 的 Google Ads 开发者令牌。请参阅获取开发者令牌
outputTableSpec 要将输出写入的 BigQuery 表位置。该名称应采用 <project>:<dataset>.<table_name> 格式。表的架构必须与输入对象匹配。
loginCustomerId 可选:用于访问账号 ID 的 Google Ads 经理账号 ID。例如:12345
bigQueryTableSchemaPath 可选:BigQuery 架构 JSON 文件的 Cloud Storage 路径。如果未设置此值,则系统将根据 Proto 架构推断架构。例如:gs://MyBucket/bq_schema.json
writeDisposition 可选:BigQuery WriteDisposition 值。例如 WRITE_APPENDWRITE_EMPTYWRITE_TRUNCATE。默认值为: WRITE_APPEND
createDisposition 可选:BigQuery CreateDisposition 值。例如,CREATE_IF_NEEDEDCREATE_NEVER。默认值为: CREATE_IF_NEEDED

运行模板

控制台

  1. 转到 Dataflow 基于模板创建作业页面。
  2. 转到“基于模板创建作业”
  3. 作业名称字段中,输入唯一的作业名称。
  4. 可选:对于区域性端点,从下拉菜单中选择一个值。默认区域为 us-central1

    如需查看可以在其中运行 Dataflow 作业的区域列表,请参阅 Dataflow 位置

  5. Dataflow 模板下拉菜单中,选择 the Google Ads to BigQuery template。
  6. 在提供的参数字段中,输入您的参数值。
  7. 点击运行作业

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:您要使用的模板的版本

    您可使用以下值:

  • REGION_NAME:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • CUSTOMER_IDS:Google Ads 账号 ID
  • QUERY:Google Ads 查询语言查询
  • QPS_PER_WORKER:每个工作器所需的 Google Ads 请求速率
  • GOOGLE_ADS_CLIENT_ID:标识应用的 OAuth 2.0 客户端 ID
  • GOOGLE_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 项目的 ID
  • JOB_NAME:您选择的唯一性作业名称
  • VERSION:您要使用的模板的版本

    您可使用以下值:

  • LOCATION:要在其中部署 Dataflow 作业的区域,例如 us-central1
  • CUSTOMER_IDS:Google Ads 账号 ID
  • QUERY:Google Ads 查询语言查询
  • QPS_PER_WORKER:每个工作器所需的 Google Ads 请求速率
  • GOOGLE_ADS_CLIENT_ID:标识应用的 OAuth 2.0 客户端 ID
  • GOOGLE_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 输出表

后续步骤