Tabellen-Snapshots wiederherstellen.

In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud Console, einer CREATE TABLE CLONE-Abfrage, einem bq cp-Befehl oder der jobs.insert API eine Tabelle mit Schreiboption aus einem Tabellen-Snapshot erstellen. Es richtet sich an Nutzer, die mit Tabellen-Snapshots vertraut sind.

Berechtigungen und Rollen

Dieser Abschnitt beschreibt die IAM-Berechtigungen (Identity and Access Management, Identitäts- und Zugriffsverwaltung), die Sie benötigen, um eine beschreibbare Tabelle aus einem Tabellen-Snapshot erstellen, und die vordefinierten IAM-Rollen, die diese Berechtigungen gewähren.

Berechtigungen

Zum Erstellen einer beschreibbaren Tabelle aus einem Tabellen-Snapshot benötigen Sie folgende Berechtigungen:

Berechtigung Ressource
Alle von Folgenden:

bigquery.tables.get
bigquery.tables.getData
bigquery.tables.restoreSnapshot
Der Tabellen-Snapshot, den Sie in eine beschreibbare Tabelle kopieren möchten.
bigquery.tables.create Das Dataset, das die Zieltabelle enthält.

Rollen

Die folgenden vordefinierten BigQuery-Rollen bieten die erforderlichen Berechtigungen:

Rolle Ressource
Beliebige von Folgendem:

bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Der Tabellen-Snapshot, den Sie in eine beschreibbare Tabelle kopieren möchten.
Beliebige von Folgendem:

bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Das Dataset, das die Zieltabelle enthält.

Tabellen-Snapshot wiederherstellen

Geben Sie den zu kopierenden Tabellen-Snapshot und die Zieltabelle an, um aus einem Snapshot eine beschreibbare Tabelle zu erstellen. Die Zieltabelle kann eine neue Tabelle sein oder Sie können eine vorhandene Tabelle mit dem Tabellen-Snapshot überschreiben.

In eine neue Tabelle wiederherstellen

Stellen Sie den Tabellen-Snapshot library_backup.books mit einer der folgenden Optionen in der neuen Tabelle library.books_new wieder her:

Console

  1. Rufen Sie in der Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, aus dem Sie wiederherstellen möchten, in diesem Fall library_backup.books.

  3. Klicken Sie im angezeigten Bereich des Tabellen-Snapshots auf Wiederherstellen.

    Tabelle aus Snapshot wiederherstellen

  4. Geben Sie im angezeigten Bereich Snapshot wiederherstellen das Projekt, die Dataset-ID und den Tabellennamen ein für die Zieltabelle.

  5. Wählen Sie zum Überschreiben einer vorhandenen Tabelle mit den Daten aus dem Tabellen-Snapshot die Option Tabelle überschreiben, falls vorhanden aus. Wenn Sie diese Option nicht auswählen und die Zieltabelle bereits vorhanden ist, erhalten Sie eine Fehlermeldung.

  6. Klicken Sie auf Wiederherstellen.

SQL

Verwenden Sie die DDL-Anweisung CREATE TABLE CLONE:

  1. Rufen Sie in der Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE TABLE library.books_new
    CLONE library_backup.books;
    

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.

bq

Führen Sie dazu in Cloud Shell den folgenden Befehl aus.

Zu Cloud Shell

bq cp --restore --no_clobber library_backup.books library.books_new

Das Flag --no_clobber weist den Befehl an, fehlzuschlagen, wenn die Zieltabelle bereits vorhanden ist.

API

Rufen Sie die Methode jobs.insert mit den folgenden Parametern auf:

Parameter Wert
projectId myproject
Anfragetext

{
  "configuration": {
    "copy": {
      "sourceTables": [
        {
          "projectId": "myproject",
          "datasetId": "library_backup",
          "tableId": "books"
        }
      ],
      "destinationTable": {
        "projectId": "myproject",
        "datasetId": "library",
        "tableId": "books_new"
      },
      "operationType": "RESTORE",
      "writeDisposition": "WRITE_EMPTY"
    }
  }
}

Wenn kein Ablauf angegeben ist, läuft die Zieltabelle nach der Standardablaufzeit für Tabellen für das Dataset ab, das die Zieltabelle enthält. In diesem Fall das Dataset library.

Vorhandene Tabelle überschreiben

Überschreiben Sie die vorhandene Tabelle library.books mit dem Tabellen-Snapshot library_backup.books mit einer der folgenden Optionen:

Console

  1. Rufen Sie in der Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer die Projekt- und Dataset-Knoten des Tabellen-Snapshots, aus dem Sie wiederherstellen möchten, in diesem Fall library_backup.books.

  3. Klicken Sie im angezeigten Bereich des Tabellen-Snapshots auf Wiederherstellen.

    Tabelle aus Snapshot wiederherstellen

  4. Geben Sie im angezeigten Bereich Snapshot wiederherstellen das Projekt, die Dataset-ID und den Tabellennamen ein für die Tabelle, die Sie überschreiben möchten.

  5. Klicken Sie auf Wiederherstellen.

SQL

Verwenden Sie die DDL-Anweisung CREATE TABLE CLONE:

  1. Rufen Sie in der Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE OR REPLACE TABLE library.books_new
    CLONE library_backup.books;
    

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.

bq

Führen Sie dazu in Cloud Shell den folgenden Befehl aus.

Zu Cloud Shell

bq cp --restore --force library_backup.books library.books

API

Rufen Sie die Methode jobs.insert mit den folgenden Parametern auf:

Parameter Wert
projectId myproject
Anfragetext

{
  "configuration": {
    "copy": {
      "sourceTables": [
        {
          "projectId": "myproject",
          "datasetId": "library_backup",
          "tableId": "books"
        }
      ],
      "destinationTable": {
        "projectId": "myproject",
        "datasetId": "library",
        "tableId": "books"
      },
      "operationType": "RESTORE",
      "writeDisposition": "WRITE_TRUNCATE"
    }
  }
}

Wenn kein Ablauf angegeben ist, läuft die Zieltabelle nach der Standardablaufzeit für Tabellen für das Dataset ab, das die Zieltabelle enthält. In diesem Fall das Dataset library.

Nächste Schritte