Google Play-Übertragungen

Mit BigQuery Data Transfer Service fürden Google Play-Connector können Sie wiederkehrende Ladejobs für Google Play-Berichtsdaten automatisch planen und verwalten.

Unterstützte Berichte

Der BigQuery Data Transfer Service für Google Play unterstützt die folgenden monatlichen Berichtsoptionen:

Detaillierte Berichte

Zusammengefasste Berichte

Informationen zur Umwandlung von Google Play-Berichten in BigQuery-Tabellen finden Sie unter Google Play-Berichte umwandeln.

Berichtsoption Support
Unterstützte API-Version

Wiederholungshäufigkeit

Täglich zu der Zeit, zu der die Datenübertragung erstmalig erstellt wird (Standard)

Sie können die Tageszeit konfigurieren.

Aktualisierungsfenster

Letzte 7 Tage

Nicht konfigurierbar

Maximale Backfill-Dauer

Kein Limit

In Google Play gibt es kein Limit hinsichtlich der Aufbewahrung von Daten. Beim BigQuery Data Transfer Service ist dagegen die Anzahl der Tage beschränkt, die mit einem einzelnen Backfill angefordert werden können. Informationen zu Backfills finden Sie unter Manuelle Übertragung auslösen.

Datenaufnahme aus Google Play-Übertragungen

Wenn Sie Daten aus Google Play in BigQuery übertragen, werden die Daten in BigQuery-Tabellen geladen, die nach Datum partitioniert sind. Die Tabellenpartition, in die die Daten geladen werden, entspricht dem Datum aus der Datenquelle. Wenn Sie mehrere Übertragungen für dasselbe Datum planen, überschreibt BigQuery Data Transfer Service die Partition für dieses Datum mit den neuesten Daten. Mehrere Übertragungen am selben Tag oder laufende Backfills führen nicht zu doppelten Daten; Partitionen für andere Daten sind nicht betroffen.

Fenster aktualisieren

Ein Aktualisierungsfenster ist die Anzahl der Tage, an denen eine Datenübertragung Daten zu einer Datenübertragung abruft. Wenn das Aktualisierungsfenster beispielsweise drei Tage beträgt und eine tägliche Übertragung erfolgt, ruft der BigQuery Data Transfer Service alle Daten aus Ihrer Quelltabelle der letzten drei Tage ab. In diesem Beispiel erstellt der BigQuery Data Transfer Service bei einer täglichen Übertragung eine neue BigQuery-Zieltabellenpartition mit einer Kopie der Daten der Quelltabelle vom aktuellen Tag und löst dann automatisch Backfill-Ausführungen aus, um die BigQuery-Zieltabellenpartitionen mit den Daten der Quelltabelle aus den letzten zwei Tagen zu aktualisieren. Die automatisch ausgelösten Backfill-Ausführungen überschreiben oder aktualisieren Ihre BigQuery-Zieltabelle entweder schrittweise oder aktualisieren sie, je nachdem, ob inkrementelle Aktualisierungen im BigQuery Data Transfer Service-Connector unterstützt werden oder nicht.

Wenn Sie eine Datenübertragung zum ersten Mal ausführen, werden alle Quelldaten abgerufen, die innerhalb des Aktualisierungszeitraums verfügbar sind. Wenn das Aktualisierungsfenster beispielsweise drei Tage beträgt und Sie die Datenübertragung zum ersten Mal ausführen, ruft der BigQuery Data Transfer Service alle Quelldaten innerhalb von drei Tagen ab.

Aktualisierungsfenster sind dem API-Feld TransferConfig.data_refresh_window_days zugeordnet.

Wenn Sie Daten außerhalb des Aktualisierungszeitraums abrufen möchten, z. B. Verlaufsdaten, oder Daten nach Übertragungsausfällen oder -lücken wiederherstellen möchten, können Sie einen Backfill-Vorgang initiieren oder planen.

Beschränkungen

  • Die Mindesthäufigkeit, für die Sie eine Datenübertragung planen können, beträgt einmal alle 24 Stunden. Standardmäßig beginnt eine Übertragung zu dem Zeitpunkt, an dem Sie die Übertragung erstellen. Sie können die Startzeit der Übertragung jedoch beim Einrichten der Übertragung konfigurieren.
  • Der BigQuery Data Transfer Service unterstützt keine inkrementellen Datenübertragungen während einer Google Play-Übertragung. Wenn Sie ein Datum für eine Datenübertragung angeben, werden alle Daten übertragen, die für dieses Datum verfügbar sind.

Hinweise

Vorbereitung einer Google Play-Übertragung:

  • Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
  • Erstellen Sie ein BigQuery-Dataset zum Speichern der Google Play-Daten.
  • Suchen Sie den Cloud Storage-Bucket:
    1. Klicken Sie in der Google Play Console auf Berichte herunterladen und wählen Sie Rezensionen, Statistik oderFinanzen aus.
    2. Klicken Sie zum Kopieren der ID für Ihren Cloud Storage-Bucket auf Cloud Storage-URI kopieren. Die Bucket-ID beginnt mit gs://. Für den Bericht zu Rezensionen sieht Ihre ID beispielsweise so aus:
      gs://pubsite_prod_rev_01234567890987654321/reviews
    3. Für die Google Play-Datenübertragung müssen Sie nur die eindeutige ID zwischen gs:// und /reviews kopieren:
      pubsite_prod_rev_01234567890987654321
  • Wenn Sie Benachrichtigungen über die Übertragungsausführung für Pub/Sub einrichten möchten, benötigen Sie die Berechtigungen pubsub.topics.setIamPolicy. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.

Erforderliche Berechtigungen

  • BigQuery: Achten Sie darauf, dass die Person, die die Datenübertragung erstellt, die folgenden Berechtigungen in BigQuery hat:

    • bigquery.transfers.update-Berechtigungen zum Erstellen der Datenübertragung
    • Die Berechtigungen bigquery.datasets.get und bigquery.datasets.update für das Ziel-Dataset

    Die vordefinierte IAM-Rolle bigquery.admin enthält die Berechtigungen bigquery.transfers.update, bigquery.datasets.update und bigquery.datasets.get. Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie unter Zugriffssteuerung.

  • Google Play: Prüfen Sie, ob Sie die folgenden Berechtigungen in Google Play haben:

    Das Google Cloud-Team hat KEINE Möglichkeit, in Ihrem Namen Google Play-Dateien zu generieren oder Zugriff auf sie zu gewähren. Wenn Sie Hilfe beim Zugriff auf Google Play-Dateien benötigen, wenden Sie sich an den Google Play-Support.

Google Play-Übertragung einrichten

Für die Einrichtung einer Google Play-Datenübertragung ist Folgendes erforderlich:

  • Cloud Storage-Bucket: Schritte zum Auffinden Ihres Cloud Storage-Buckets finden Sie unter Vorbereitung. Der Cloud Storage-Bucket beginnt mit pubsite_prod_rev. Beispiel: pubsite_prod_rev_01234567890987654321.
  • Tabellensuffix: Ein nutzerfreundlicher Name für alle Datenquellen, die in dasselbe Dataset geladen werden. Mit dem Suffix wird verhindert, dass bei unterschiedlichen Übertragungen in dieselbe Tabelle geschrieben wird. Das Tabellensuffix darf bei allen Übertragungen, bei denen Daten in dasselbe Dataset geladen werden, nur einmal vorkommen. Außerdem muss das Suffix kurz sein, damit der Tabellenname nicht zu lang wird.

So richten Sie eine Google Play-Datenübertragung ein:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenübertragungen auf.

    Zu „Datenübertragungen”

  2. Klicken Sie auf Übertragung erstellen.

  3. Auf der Seite Übertragung erstellen:

    • Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Google Play aus.

      Übertragungsquelle

    • Geben Sie im Abschnitt Transfer config name (Konfigurationsname für Übertragung) für Display name (Anzeigename) einen Namen wie My Transfer für die Datenübertragung ein. Der Übertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung identifizieren können, wenn Sie sie später ändern müssen.

      Name der Übertragung

    • Im Abschnitt Zeitplanoptionen:

      • Wählen Sie für Wiederholungshäufigkeit aus, wie oft die Übertragung ausgeführt werden soll. Wenn Sie Tage auswählen, geben Sie eine gültige Zeit in UTC an.

        • Stunden
        • Tage
        • On demand
      • Wählen Sie gegebenenfalls Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.

    • Wählen Sie im Abschnitt Destination settings (Zieleinstellungen) für Destination dataset (Ziel-Dataset) das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

      Dataset übertragen

    • Im Abschnitt Data source details (Details zur Datenquelle):

      • Geben Sie bei Cloud Storage bucket (Cloud Storage-Bucket) die ID des Cloud Storage-Buckets ein.
      • Geben Sie unter Table suffix (Tabellensuffix) ein Suffix ein, z. B. "MT" (Mein Transfer).

        Details zur Google Play-Quelle

    • Wählen Sie im Menü Dienstkonto ein Dienstkonto aus den Dienstkonten aus, die mit Ihrem Google Cloud-Projekt verknüpft sind. Sie können Ihre Datenübertragung mit einem Dienstkonto verknüpfen, anstatt Ihre Nutzeranmeldedaten zu verwenden. Weitere Informationen zur Verwendung von Dienstkonten mit Datenübertragungen finden Sie unter Dienstkonten verwenden.

    • (Optional) Im Abschnitt Notification options (Benachrichtigungsoptionen):

      • Klicken Sie auf die Umschaltfläche, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
      • Wählen Sie unter Pub/Sub-Thema auswählen Ihr Thema aus oder klicken Sie auf Thema erstellen. Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
  4. Klicken Sie auf Speichern.

bq

Geben Sie den Befehl bq mk ein und geben Sie das Flag --transfer_config für die Übertragungserstellung an. Die folgenden Flags sind ebenfalls erforderlich:

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

Dabei gilt:

  • project_id ist die Projekt-ID. Wenn --project_id nicht angegeben ist, wird das Standardprojekt verwendet.
  • dataset ist das Ziel-Dataset für die Übertragungskonfiguration.
  • name ist der Anzeigename für die Übertragungskonfiguration. Der Datenübertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung identifizieren können, wenn Sie sie später ändern müssen.
  • parameters enthält die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel: --params='{"param":"param_value"}'. Bei Google Play müssen Sie die Parameter bucket und table_suffix angeben. Dabei ist bucket der Cloud Storage-Bucket, der Ihre Play-Berichtdateien enthält.
  • data_source ist die Datenquelle play.
  • service_account_name ist der Name des Dienstkontos, der zur Authentifizierung der Datenübertragung verwendet wird. Das Dienstkonto sollte zum selben project_id gehören, das für die Erstellung der Übertragung verwendet wurde, und sollte alle erforderlichen Berechtigungen haben.

Mit dem folgenden Befehl wird beispielsweise eine Google Play-Datenübertragung mit dem Namen My Transfer erstellt, wobei der Cloud Storage-Bucket pubsite_prod_rev_01234567890987654321 und das Ziel-Dataset mydataset verwendet werden. Die Datenübertragung wird im Standardprojekt erstellt:

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

Wenn Sie den Befehl zum ersten Mal ausführen, erhalten Sie eine Nachricht, die in etwa so aussieht:

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

Richten Sie sich nach der Anleitung in der Nachricht und fügen Sie den Authentifizierungscode in die Befehlszeile ein.

API

Verwenden Sie die Methode projects.locations.transferConfigs.create und geben Sie eine Instanz der Ressource TransferConfig an.

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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());
    }
  }
}

Fehler beim Einrichten von Google Play-Übertragungen beheben

Unterstützung bei Problemen mit der Einrichtung von Datenübertragungen finden Sie unter Behebung von Fehlern bei der Übertragungseinrichtung in BigQuery Data Transfer Service.

Daten abfragen

Bei der Übertragung Ihrer Daten in BigQuery werden die Daten in zeitpartitionierte Tabellen geschrieben. Weitere Informationen finden Sie unter Einführung in partitionierte Tabellen.

Wenn Sie die Tabellen direkt abfragen, anstatt die automatisch generierten Ansichten zu verwenden, müssen Sie in der Abfrage die Pseudospalte _PARTITIONTIME verwenden. Weitere Informationen finden Sie unter Partitionierte Tabellen abfragen.

Preise

Informationen zu den Preisen für die Datenübertragung bei Google Play finden Sie auf der Seite Preise.

Nach der Übertragung von Daten in BigQuery gelten die Standardpreise für Speicher und Abfragen in BigQuery.

Nächste Schritte

  • Informationen zum Übertragen von Google Play-Berichten an BigQuery finden Sie unter Google Play-Berichte umwandeln.
  • Eine Übersicht über BigQuery Data Transfer Service finden Sie unter Einführung in BigQuery Data Transfer Service.
  • Informationen zum Verwenden von Übertragungen, einschließlich des Abrufs von Informationen zu einer Übertragungskonfiguration, des Auflistens von Übertragungskonfigurationen und des Aufrufs des Ausführungsverlaufs der Übertragung finden Sie unter Mit Übertragungen arbeiten.