Google Play 転送

BigQuery Data Transfer Service for Google Play を使用すると、Google Play レポートデータを定期的に読み込むジョブのスケジュールと管理を自動化できます。

サポートされるレポート

BigQuery Data Transfer Service for Google Play では現在、次の月次レポート オプションがサポートされています。

詳細レポート

集計レポート

Google Play レポートが BigQuery テーブルに変換される仕組みについては、Google Play レポートの変換をご覧ください。

レポート オプション サポート
サポートされている API バージョン

なし

スケジュール

毎日、転送が最初に作成される時刻(デフォルト)

時刻を設定できます。

Refresh window

過去 7 日間

構成不可

最大バックフィル期間

制限なし

Google Play にはデータ保持期間の制限はありませんが、BigQuery Data Transfer Service には、1 回のバックフィルでリクエストできる日数に制限があります。バックフィルの詳細については、バックフィルの設定をご覧ください。

始める前に

Google Play 転送を作成する前に、以下の作業を行います。

  • BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
  • 従来の BigQuery ウェブ UI を使用して転送を作成する場合は、権限ウィンドウが表示されるように、ブラウザで bigquery.cloud.google.com からのポップアップを許可します。BigQuery Data Transfer Service 権限で転送を管理できるようにする必要があります。
  • Google Play データを保存する BigQuery データセットを作成します。
  • Cloud Storage バケットを確認します。
    • Google Play Console で、レビューなどのレポートを選択します。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(転送を作成する権限)

    bigquery.transfers.update 権限は、事前定義された Cloud IAM の役割 bigquery.admin に含まれています。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 転送を設定するには:

Console

  1. Cloud Console の BigQuery ウェブ UI に移動します。

    Cloud Console に移動

  2. [転送] をクリックします。

  3. [転送を作成] をクリックします。

  4. [転送の作成] ページで、次の操作を行います。

    • [ソースタイプ] セクションで、[ソース] として [Google Play] を選択します。

      転送のソース

    • [転送構成名] セクションの [表示名] に、転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。

      転送名

    • [スケジュール オプション] セクションで、[スケジュール] をデフォルト値([すぐに開始可能])のままにするか、[設定した時間に開始] をクリックします。

      • [繰り返しの頻度] で、転送を実行する頻度のオプションを選択します。
        • 毎日(デフォルト)
        • 毎週
        • 毎月
        • カスタム
        • オンデマンド
      • [開始日と実行時間] に、転送を開始する日付と時刻を入力します。[すぐに開始可能] を選択した場合、このオプションは無効になります。

        転送スケジュール

    • [転送先の設定] セクションの [宛先データセット] で、データを保存するために作成したデータセットを選択します。

      転送データセット

    • [データソースの詳細] セクションで、次の操作を行います。

      • [Cloud Storage バケット] に、Cloud Storage バケットの ID を入力します。
      • [Table suffix] にサフィックスを入力します(「My Transfer」の場合は「MT」など)。

        Google Play ソースの詳細

    • (省略可)[通知オプション] セクションで、次の操作を行います。

      • 切り替えボタンをクリックしてメール通知を有効にします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
      • [Pub/Sub トピックを選択してください] で、トピック名を選択するか、[トピックを作成する] をクリックします。このオプションで、Pub/Sub の転送実行通知を構成します。
  5. [保存] をクリックします。

従来の UI

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [Transfers] をクリックします。

  3. [Add Transfer] をクリックします。

  4. [New Transfer] ページで次の操作を行います。

    • [Source] で、[Google Play] を選択します。
    • [Display Name] に転送名(例:「My Transfer」)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • [スケジュール] はデフォルト値(転送の作成時刻に 24 時間ごと)のままにするか、[Edit] をクリックして時刻を変更します。

      Google Play 転送のカスタム スケジュール

    • [Destination dataset] で、該当するデータセットを選択します。

    • [Cloud Storage bucket] に、使用する Cloud Storage バケットを入力します。

    • [Table suffix] にサフィックスを入力します(「My Transfer」の場合は「MT」など)。

      Google Play 転送のデフォルト スケジュール

    • (省略可)[Advanced] セクションを展開し、転送の実行通知を構成します。

      • [Pub/Sub topic] にトピック名(例: 'projects/myproject/topics/mytopic')を入力します。
      • [Send email notifications] をオンにして、転送実行失敗のメール通知を許可します。
      • 転送を設定するときは [Disabled] をオンにしないでください。既存の転送を無効にするには、転送の操作をご覧ください。

        Pub/Sub トピック

  5. [追加] をクリックします。[Add] ボタンをクリックすると、宛先として選択した BigQuery データセットの読み取りと書き込みのアクセス権が Google Play レポートに付与されます。

  6. プロンプトが表示されたら、[Allow] をクリックし、Google Play レポートデータの表示権限、BigQuery でのデータのアクセス権限と管理権限を BigQuery Data Transfer Service に付与します。権限ウィンドウが表示されるように、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 では、bucket パラメータと table_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 疑似列を使用する必要があります。詳細については、パーティション分割テーブルのクエリをご覧ください。

次のステップ

  • Google Play レポートがどのように BigQuery に転送されるかについては、Google Play レポートの変換をご覧ください。
  • BigQuery Data Transfer Service の概要については、BigQuery Data Transfer Service の概要をご覧ください。
  • 転送構成に関する情報の取得、転送構成の一覧表示、転送の実行履歴の表示など、転送の使用方法については、転送の操作をご覧ください。