Google Play 转移作业

借助适用于 Google Play 的 BigQuery Data Transfer Service,您可以自动安排和管理 Google Play 报告数据的周期性加载作业。

支持的报告

目前,适用于 Google Play 的 BigQuery Data Transfer Service 支持以下每月报告选项:

详细报告

汇总报告

如需详细了解 Google Play 报告如何转换为 BigQuery 表,请参阅 Google Play 报告转换

报告选项 支持
支持的 API 版本

不适用

时间表

每天在首次创建传输之时(默认值)

您可以配置一天中的具体时间。

刷新期

过去 7 天

无法配置

回填时长上限

无限制

虽然 Google Play 没有已知的数据保留限制,但 BigQuery Data Transfer Service 会限制一次回填中可以请求的天数。如需详细了解回填,请参阅设置回填

准备工作

在创建 Google Play 转移作业之前:

  • 验证您已经完成启用 BigQuery Data Transfer Service 所需的所有操作。
  • 如果您要使用经典版 BigQuery 网页界面创建转移作业,请在浏览器中允许来自 bigquery.cloud.google.com 的弹出式窗口,以便查看权限窗口。您必须向 BigQuery Data Transfer Service 授予管理转移作业的权限。
  • 创建 BigQuery 数据集,以用于存储 Google Play 数据。
  • 找到您的 Cloud Storage 存储分区:
    • Google Play 管理中心中,选择任一报告,例如评价。您将在页面底部附近找到您的 Cloud Storage 存储分区对应的 ID。您的存储分区 ID 以 gs:// 开头。例如,对于评价报告,您将看到:
      gs://pubsite_prod_rev_01234567890987654321/reviews
      要设置您的转移作业,您只需复制位于 gs:///reviews 之间的唯一 ID 即可:
      pubsite_prod_rev_01234567890987654321
  • 如果您想要为 Pub/Sub 设置转移作业运行通知,那么您必须拥有 pubsub.topics.setIamPolicy 权限。如果您只是要设置电子邮件通知,则无需 Pub/Sub 权限。如需了解详情,请参阅 BigQuery Data Transfer Service 运行通知

所需权限

  • BigQuery:确保转移作业创建者在 BigQuery 中拥有以下权限:

    • 创建转移作业所需的 bigquery.transfers.update 权限。

    预定义的 Cloud IAM 角色 bigquery.admin 具有 bigquery.transfers.update 权限。如需详细了解 BigQuery Data Transfer Service 中的 Cloud IAM 角色,请参阅访问权限控制参考文档

  • Google Play:确保您在 Google Play 中拥有以下权限:

    Google Cloud 团队无法代表您生成或授予对 Google Play 文件的访问权限。请参阅与 Google Play 支持团队联系以获取有关访问 Google Play 文件的帮助。

设置 Google Play 转移作业

设置 Google Play 转移作业需要提供以下信息:

  • Cloud Storage 存储分区准备工作中介绍了查找 Cloud Storage 存储分区的步骤。您的 Cloud Storage 存储分区以 pubsite_prod_rev 开头。例如:pubsite_prod_rev_01234567890987654321
  • 表后缀:加载到同一数据集的所有数据源的简单易记的名称。此后缀用于防止不同的转移作业写入相同的表。在将数据加载到同一数据集的所有传输作业中,表后缀必须是唯一的,而且后缀要简短,以尽量缩短所生成的表名称的长度。

要设置 Google Play 转移作业,请按下列步骤操作:

控制台

  1. 转到 Cloud Console 中的 BigQuery 网页界面。

    转到 Cloud Console

  2. 点击转移

  3. 点击创建转移作业

  4. 创建转移作业页面上:

    • 来源类型部分的来源中,选择 Google Play。

      转移作业来源

    • 转移配置名称部分的显示名中,输入转移作业的名称,例如 My Transfer。转移作业名称可以是任何容易辨识的值,方便您以后在需要修改该作业时能轻松识别。

      转移作业名称

    • 时间表选项部分的时间表中,保留默认值(立即开始)或点击在设置的时间开始 (Start at a set time)。

      • 重复频率部分,从以下选项中选择转移作业的运行频率。
        • 每日一次(默认值)
        • 每周一次
        • 每月一次
        • 自定义
        • 按需
      • 开始日期和运行时间部分,输入开始转移作业的日期和时间。如果您选择的是立即开始,则此选项会处于停用状态。

        转移作业时间安排

    • 目标设置部分的目标数据集中,选择您创建用来存储数据的数据集。

      转移作业数据集

    • 数据源详细信息部分,执行以下操作:

      • Cloud Storage 存储分区部分,请输入您的 Cloud Storage 存储分区的 ID。
      • 表后缀 (Table suffix) 部分中,输入后缀,例如“MT”(表示“My Transfer”)。

        Google Play 来源详细信息

    • (可选)在通知选项部分,执行以下操作:

      • 点击切换开关以启用电子邮件通知。启用此选项后,转移作业管理员会在转移作业运行失败时收到电子邮件通知。
      • 选择 Pub/Sub 主题部分,选择您的主题名称,或点击创建主题。此选项用于为您的转移作业配置 Pub/Sub 运行通知
  5. 点击保存

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers

  3. 点击 Add Transfer

  4. 新建数据传输 (New Transfer) 页面上,执行以下操作:

    • Source 部分,选择 Google Play。
    • Display name 中,输入转移作业的名称,例如“My Transfer”。转移作业名称可以是任何容易辨识的值,方便以后需要时对转移作业进行修改。
    • Schedule 部分中,保留默认值(每 24 小时创建一次转移作业),或点击 Edit 并更改时间。

      Google Play 转移作业的自定义时间表

    • Destination dataset 部分,选择相应的数据集。

    • Cloud Storage 存储分区 (Cloud Storage bucket) 部分中,输入您的 Cloud Storage 存储分区。

    • Table suffix 部分,输入后缀,例如“MT”(表示“My Transfer”)。

      Google Play 转移作业的默认时间表

    • (可选)展开 Advanced 部分,并为转移作业配置运行通知

      • Pub/Sub topic 部分,输入您的主题名称,例如“projects/myproject/topics/mytopic”。
      • 勾选 Send email notifications,让系统在转移作业运行失败时发送电子邮件通知。
      • 设置转移作业时请勿勾选 Disabled。如需停用现有转移作业,请参阅处理转移作业

        Pub/Sub 主题

  5. 点击 Add。请注意,点击“Add”按钮后,您将向 Google Play 报告授予对您选择的目标 BigQuery 数据集的读取和写入权限。

  6. 出现提示时,点击 Allow 向 BigQuery Data Transfer Service 授予权限,以允许其查看 Google Play 报告数据以及在 BigQuery 中访问和管理数据。您必须允许显示来自 bigquery.cloud.google.com 的弹出式窗口,才能看到权限窗口。

    允许转移作业

CLI

输入 bq mk 命令并提供转移作业创建标志 --transfer_config。此外,还必须提供以下标志:

  • --target_dataset
  • --display_name
  • --params
  • --data_source
bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source

其中:

  • project_id 是您的项目 ID。如果未指定 --project_id,系统会使用默认项目。
  • dataset 是转移作业配置的目标数据集
  • name 是转移作业配置的显示名。转移作业名称可以是任何容易辨识的值,方便您以后在需要修改该作业时能轻松识别相应的转移作业。
  • parameters 包含所创建的转移作业配置的参数(采用 JSON 格式)。例如 --params='{"param":"param_value"}'。对于 Google Play,您必须提供 buckettable_suffix 参数。bucket 是包含您的 Play 报告文件的 Cloud Storage 存储分区。
  • data_source 是数据源:play

例如,以下命令使用 Cloud Storage 存储分区 pubsite_prod_rev_01234567890987654321 和目标数据集 mydataset 创建名为 My Transfer 的 Google Play 转移作业。该转移作业将在默认项目中创建:

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket":"pubsite_prod_rev_01234567890987654321","table_suffix":"MT"}' \
--data_source=play

第一次运行该命令时,您将收到如下消息:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

请按照该消息中的说明操作,并将身份验证代码粘贴到命令行中。

API

使用 projects.locations.transferConfigs.create 方法并提供一个 TransferConfig 资源实例。

排查 Google Play 转移作业设置问题

如果您在设置转移作业时遇到问题,请参阅排查 BigQuery Data Transfer Service 转移作业设置问题

查询数据

当数据传输到 BigQuery 时,会被写入提取时间分区表。如需了解详情,请参阅分区表简介

如果您要直接查询表,而不是使用自动生成的视图,那么必须在查询中使用 _PARTITIONTIME 伪列。如需了解详情,请参阅查询分区表

后续步骤