Transfer Google Play

BigQuery Data Transfer Service untuk Google Play memungkinkan Anda menjadwalkan dan mengelola tugas pemuatan berulang secara otomatis untuk data pelaporan Google Play.

Laporan yang Didukung

BigQuery Data Transfer Service untuk Google Play mendukung opsi pelaporan bulanan berikut:

Laporan terperinci

Laporan gabungan

Untuk mengetahui informasi tentang cara laporan Google Play diubah menjadi tabel BigQuery, lihat Transformasi laporan Google Play.

Opsi pelaporan Support
Versi API yang didukung

T/A

Jadwal

Harian, pada saat transfer pertama kali dibuat (default)

Anda dapat mengonfigurasi waktu pada hari itu.

Frekuensi pemuatan ulang

7 hari terakhir

Tidak dapat dikonfigurasi

Durasi pengisian ulang maksimum

Tak terbatas

Meskipun Google Play tidak memiliki batas retensi data yang diketahui, BigQuery Data Transfer Service memiliki batasan jumlah hari yang dapat diminta dalam satu pengisian ulang. Untuk informasi tentang pengisian ulang, lihat Menyiapkan pengisian ulang.

Penyerapan data dari transfer Google Play

Saat Anda mentransfer data dari Google Play ke BigQuery, data dimuat ke dalam tabel BigQuery yang dipartisi berdasarkan tanggal. Partisi tabel tempat data dimuat sesuai dengan tanggal dari sumber data. Jika Anda menjadwalkan beberapa transfer untuk tanggal yang sama, BigQuery Data Transfer Service akan menimpa partisi untuk tanggal tertentu tersebut dengan data terbaru. Beberapa transfer pada hari yang sama atau menjalankan pengisian ulang tidak akan menghasilkan data duplikat, dan partisi untuk tanggal lain tidak akan terpengaruh.

Batasan

  • Frekuensi minimum yang dapat dijadwalkan untuk transfer data adalah sekali setiap 24 jam. Secara default, transfer dimulai saat Anda membuat transfer. Namun, Anda dapat mengonfigurasi waktu mulai transfer saat menyiapkan transfer.
  • BigQuery Data Transfer Service tidak mendukung transfer inkremental selama transfer Google Play. Saat Anda menentukan tanggal untuk transfer data, semua data yang tersedia untuk tanggal tersebut akan ditransfer.
  • Laporan penghasilan dibuat sebulan sekali, dan biasanya tersedia pada tanggal 5 bulan berikutnya. Secara default, Google Play hanya mentransfer pembaruan data selama 7 hari terakhir. Oleh karena itu, hanya laporan penghasilan beberapa hari terakhir dari bulan sebelumnya yang akan ditransfer. Untuk mentransfer data penghasilan untuk sebulan penuh, pengisian ulang manual diperlukan untuk mencakup hari-hari yang hilang.

Sebelum memulai

Sebelum membuat transfer Google Play:

  • Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
  • Buat set data BigQuery untuk menyimpan data Google Play.
  • Temukan bucket Cloud Storage Anda:
    1. Di Konsol Google Play, klik Download reports, lalu pilih Reviews, Statistics, atau Financial.
    2. Untuk menyalin ID bucket Cloud Storage Anda, klik Copy Cloud Storage URI. ID bucket Anda dimulai dengan gs://. Misalnya, untuk laporan ulasan, ID Anda mirip dengan ID berikut:
      gs://pubsite_prod_rev_01234567890987654321/reviews
    3. Untuk transfer Google Play, Anda hanya perlu menyalin ID unik yang berasal antara gs:// dan /reviews:
      pubsite_prod_rev_01234567890987654321
  • Jika ingin menyiapkan notifikasi proses transfer untuk Pub/Sub, Anda harus memiliki izin pubsub.topics.setIamPolicy. Izin Pub/Sub tidak diperlukan jika Anda baru saja menyiapkan notifikasi email. Untuk mengetahui informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.

Izin yang diperlukan

  • BigQuery: Pastikan orang yang membuat transfer memiliki izin berikut di BigQuery:

    • Izin bigquery.transfers.update untuk membuat transfer
    • Izin bigquery.datasets.get dan bigquery.datasets.update pada set data target

    Peran IAM bigquery.admin yang telah ditetapkan mencakup izin bigquery.transfers.update, bigquery.datasets.update, dan bigquery.datasets.get. Untuk mengetahui informasi lebih lanjut tentang peran IAM dalam BigQuery Data Transfer Service, lihat Kontrol akses.

  • Google Play: Pastikan Anda memiliki izin berikut di Google Play:

    Tim Google Cloud TIDAK memiliki kemampuan untuk membuat atau memberikan akses ke file Google Play atas nama Anda. Lihat Menghubungi dukungan Google Play untuk mendapatkan bantuan dalam mengakses file Google Play.

Menyiapkan transfer Google Play

Penyiapan transfer Google Play memerlukan:

  • Bucket Cloud Storage. Langkah-langkah untuk menemukan bucket Cloud Storage dijelaskan di bagian Sebelum memulai. Bucket Cloud Storage Anda dimulai dengan pubsite_prod_rev. Contoh: pubsite_prod_rev_01234567890987654321.
  • Akhiran tabel: Nama yang mudah digunakan untuk semua sumber data yang dimuat ke dalam set data yang sama. Akhiran digunakan untuk mencegah transfer terpisah agar tidak menulis ke tabel yang sama. Akhiran tabel harus unik di semua transfer yang memuat data ke dalam set data yang sama, dan akhiran harus pendek untuk meminimalkan panjang nama tabel yang dihasilkan.

Untuk menyiapkan transfer Google Play:

Konsol

  1. Buka halaman BigQuery di konsol Google Cloud.

    Buka halaman BigQuery

  2. Klik Transfers.

  3. Klik Create Transfer.

  4. Di halaman Create Transfer:

    • Di bagian Source type, untuk Source, pilih Google Play.

      Sumber transfer

    • Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer, misalnya My Transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer dengan mudah jika perlu mengubahnya nanti.

      Nama transfer

    • Di bagian Schedule options:

      • Untuk Repeat frequency, pilih opsi untuk seberapa sering transfer dijalankan. Jika Anda memilih Days, berikan waktu yang valid dalam UTC.

        • Jam
        • Hari
        • Sesuai permintaan
      • Jika berlaku, pilih Start now atau Start at set time dan masukkan tanggal mulai dan waktu proses.

    • Di bagian Destination settings, untuk Destination dataset, pilih set data yang Anda buat untuk menyimpan data.

      Mentransfer set data

    • Di bagian Data source details:

      • Untuk Cloud Storage bucket, masukkan ID untuk bucket Cloud Storage Anda.
      • Untuk Table suffix, masukkan akhiran seperti 'MT' (untuk 'My Transfer').

        Detail sumber Google Play

    • Di menu Service Account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer Anda, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.

    • (Opsional) Di bagian Notification options:

      • Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
      • Untuk Select a Pub/Sub topic, pilih nama topik atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda.
  5. Klik Save.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer — --transfer_config. Flag berikut juga diperlukan:

  • --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
--service_account_name=service_account_name

Dengan keterangan:

  • project_id adalah project ID Anda. Jika --project_id tidak ditentukan, project default akan digunakan.
  • dataset adalah set data target untuk konfigurasi transfer.
  • name adalah nama tabel virtual untuk konfigurasi transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • parameters berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Untuk Google Play, Anda harus menyediakan parameter bucket dan table_suffix. bucket adalah bucket Cloud Storage yang berisi file laporan Play Anda.
  • data_source adalah sumber data: play.
  • service_account_name adalah nama akun layanan yang digunakan untuk mengautentikasi transfer Anda. Akun layanan harus dimiliki oleh project_id yang sama dengan yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.

Misalnya, perintah berikut akan membuat transfer Google Play bernama My Transfer menggunakan bucket Cloud Storage pubsite_prod_rev_01234567890987654321 dan set data target mydataset. Transfer dibuat di project default:

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

Saat pertama kali menjalankan perintah, Anda akan menerima pesan berikut:

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

Ikuti petunjuk dalam pesan, lalu tempel kode autentikasi pada command line.

API

Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create a play transfer config.
public class CreatePlayTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String bucket = "gs://cloud-sample-data";
    String tableSuffix = "_test";
    Map<String, Value> params = new HashMap<>();
    params.put("bucket", Value.newBuilder().setStringValue(bucket).build());
    params.put("table_suffix", Value.newBuilder().setStringValue(tableSuffix).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Play Config Name")
            .setDataSourceId("play")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .build();
    createPlayTransfer(projectId, transferConfig);
  }

  public static void createPlayTransfer(String projectId, TransferConfig transferConfig)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println("play transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("play transfer was not created." + ex.toString());
    }
  }
}

Memecahkan masalah penyiapan transfer Google Play

Jika Anda mengalami masalah saat menyiapkan transfer, lihat Memecahkan masalah penyiapan transfer BigQuery Data Transfer Service.

Membuat kueri data Anda

Saat data Anda ditransfer ke BigQuery, data tersebut akan ditulis ke tabel berpartisi berdasarkan waktu penyerapan. Untuk informasi selengkapnya, lihat Pengantar tabel berpartisi.

Jika membuat kueri tabel secara langsung, bukan menggunakan tabel virtual yang dihasilkan secara otomatis, Anda harus menggunakan kolom semu _PARTITIONTIME dalam kueri. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri tabel berpartisi.

Harga

Untuk mengetahui informasi tentang harga transfer Google Play, lihat halaman Pricing.

Setelah data ditransfer ke BigQuery, harga standar penyimpanan dan kueri berlaku.

Langkah selanjutnya