Tabellen erstellen und verwalten

Auf dieser Seite wird erläutert, wie Sie mit der Google Cloud Console, der Google Cloud CLI oder der cbt CLI Vorgänge in Bigtable-Tabellen erstellen und ausführen.

Die cbt-Befehlszeile unterstützt mehrere Befehle, die auf dieser Seite nicht beschrieben werden. Eine vollständige Liste der Befehle finden Sie in der cbt-Referenz.

Tabellen lassen sich auch programmatisch mit den Cloud Bigtable-Clientbibliotheken oder Dienst-APIs erstellen und verwalten.

Eine Anleitung zum Erstellen und Verwalten autorisierter Ansichten einer Tabelle finden Sie unter Autorisierte Ansichten.

Hinweise

Wenn Sie Ihre Tabellen mithilfe von Befehlszeilentools bearbeiten möchten, folgen Sie den Schritten in diesem Abschnitt.

  1. Installieren Sie die gcloud CLI.

  2. Optional: Wenn Sie die cbt-Befehlszeile verwenden möchten, folgen Sie der Anleitung unter cbt-Befehlszeile installieren , einschließlich des Schritts zum Erstellen einer .cbtrc-Datei.

    In der Anleitung für die cbt-Befehlszeile auf dieser Seite wird davon ausgegangen, dass Sie die Projekt-ID und die Instanz-ID in der Datei .cbtrc festgelegt haben. Alternativ können Sie die Flags -project und -instance verwenden, um diese Werte bei jeder Ausführung eines cbt-Befehlszeilenbefehls festzulegen.

Tabelle erstellen

Wenn Sie eine Tabelle erstellen, müssen Sie die in der Tabelle zu verwendenden Spaltenfamilien nicht angeben. Sie können Spaltenfamilien später löschen oder hinzufügen.

Console

So erstellen Sie in einer Instanz eine neue Tabelle:

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Geben Sie eine Tabellen-ID für die Tabelle ein.

  5. Spaltenfamilien hinzufügen (optional)

    Sie können Spalten jetzt oder später hinzufügen. Eine Tabelle muss mindestens eine Spaltenfamilie haben, bevor Sie Daten in sie schreiben können. Eine Tabelle muss mindestens eine Spaltenfamilie haben, bevor Sie Daten in sie schreiben oder einen Änderungsstream aus ihr lesen können.

  6. Optional: Aktivieren Sie einen Änderungsstream für die Tabelle. Bevor Sie einen Änderungsstream aktivieren, sollten Sie sich über die Auswirkungen informieren, einschließlich der erhöhten Speicherkosten und der Nutzungsanforderungen für Anwendungsprofil. Weitere Informationen finden Sie unter Änderungsstreams.

    1. Wählen Sie Änderungsstream aktivieren aus.

    2. Geben Sie im Feld Ablaufzeit eine Zahl zwischen 1 und 7 ein, um festzulegen, wie viele Tage die Änderungsstreamdaten aufbewahrt werden sollen.

    3. Klicken Sie auf Erstellen.

  7. Klicken Sie auf Tabelle erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um eine Tabelle zu erstellen. Eine vollständige Liste der Optionen finden Sie unter gcloud Bigtable Instances Tables create

gcloud bigtable instances tables create TABLE_ID \
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES

Ersetzen Sie Folgendes:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • INSTANCE_ID: die ID der Instanz
  • PROJECT_ID: das Projekt, das die neue Tabelle enthalten wird
  • COLUMN-FAMILIES: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.

Optional:

  • Um die Tabelle vor dem Löschen zu schützen, fügen Sie den Befehl mit --deletion-protection an. Wenn Sie diese Einstellung nicht anwenden, kann die Tabelle gelöscht werden. Sie können das Löschen von Tabellen auch explizit zulassen, indem Sie --no-deletion-protection anhängen.

  • Geben Sie eine Aufbewahrungsdauer für die Änderungsstreamdaten an, um einen Änderungsstream für die Tabelle zu aktivieren. Bevor Sie einen Änderungsstream aktivieren, sollten Sie sich über die Auswirkungen informieren, einschließlich erhöhter Speicherkosten und Anforderungen an die Nutzung von Anwendungsprofilen. Weitere Informationen finden Sie unter Änderungsstreams.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Ersetzen Sie RETENTION_PERIOD durch den Zeitraum, in dem Bigtable Änderungsstreamdaten für die Tabelle beibehalten soll. Die Zeit muss zwischen einem und sieben Tagen liegen. Zulässige Einheiten sind Tage (d), Stunden (h), Minuten (m) und Sekunden (s). Beispiele: 48h oder 6d

  • Verwenden Sie den folgenden Befehl, um Bigtable eine tägliche Sicherung Ihrer Tabelle zu ermöglichen:

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --enable-automated-backup
    

cbt

Verwenden Sie den folgenden Befehl und ersetzen Sie dabei TABLE_NAME durch den Namen Ihrer Tabelle. Sie können die cbt-Befehlszeile nicht verwenden, um eine Tabelle mit aktiviertem Änderungsstream zu erstellen.

cbt createtable TABLE_ID

Optional: Zum Erstellen einer zusammengefassten Spaltenfamilie (Vorschau) in der Tabelle hängen Sie für ganzzahlige Summen den Namen der Spaltenfamilie mit :instsum an und ersetzen Sie dabei FAMILY_NAME durch den Namen der neuen zusammengefassten Spaltenfamilie. Mit dem folgenden Befehl wird eine aggregierte Spaltenfamilie mit der Richtlinie never für die automatische Speicherbereinigung erstellt.

cbt createtable TABLE_ID families=FAMILY_NAME:never:intsum

Wenn Sie eine Tabelle versehentlich gelöscht haben, versuchen Sie nicht, die gelöschte Tabelle manuell zu erstellen. Verwenden Sie den gcloud CLI-Befehl bigtable instances tables undelete, um die Tabelle wiederherzustellen.

Tabelle nach dem Zeilenschlüssel teilen

Ein Feature von Bigtable als vollständig verwalteter Dienst ist das automatische Aufteilen von Tabellen auf mehrere Knoten. Mit diesem Feature wird die Leistung optimiert, weil die gespeicherte Datenmenge gleichmäßig auf jeden Knoten verteilt wird und Zeilen mit häufigem Zugriff nach Möglichkeit auseinandergezogen werden.

Wenn Sie eine Tabelle mit der gcloud CLI, der cbt-Befehlszeile oder einer Cloud Bigtable-Clientbibliothek erstellen, können Sie Zeilenschlüssel auswählen, um die Tabelle im Voraus aufzuteilen. Beispielsweise können Sie bestimmte Zeilen für die Vorabaufteilung festlegen, wenn Sie viele Zeilen in die Tabelle schreiben möchten. Sie können bis zu 100 Zeilenschlüssel angeben, bei denen die anfänglichen Aufteilungen erfolgen sollen.

Eine Tabelle muss nicht unbedingt im Voraus aufgeteilt werden, es ist jedoch von Vorteil, da Cloud Bigtable so schon beim Erstellen der Tabelle darüber informiert wird, wo die Last und das Datenvolumen wahrscheinlich landen werden. Die Aufteilung im Voraus verhindert, dass Bigtable gleichzeitig die Tabellen aufteilen und die Last ausgleichen muss, während die Daten eintreffen.

Die Tabelle bleibt nicht bei den Zeilenschlüsseln aufgeteilt, die Sie für die Aufteilung im Voraus auswählen, wenn Sie die Tabelle erstellen. Bigtable teilt Ihre Tabelle schließlich bei anderen Zeilenschlüsseln auf, je nachdem, wie viele Daten in der Tabelle enthalten sind und wie häufig auf jede Zeile zugegriffen wird.

Console

Beim Erstellen einer Tabelle mit der Google Cloud Console können die Zeilen nicht im Voraus aufgeteilt werden.

gcloud

Führen Sie den folgenden Befehl aus, um eine Tabelle nach Zeilenschlüssel aufzuteilen. Eine vollständige Liste der Optionen finden Sie unter gcloud Bigtable Instances Tables create

gcloud bigtable instances tables create TABLE_ID\
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES \
    --splits=SPLITS

Ersetzen Sie Folgendes:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • INSTANCE_ID: die ID der Instanz
  • PROJECT_ID: das Projekt, das die neue Tabelle enthalten wird
  • COLUMN-FAMILIES: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.
  • SPLITS: die Zeilenschlüssel, in denen die Tabelle anfänglich aufgeteilt werden soll, z. B. 10,20.

cbt

Wenn Sie eine Tabelle basierend auf dem Zeilenschlüssel im Voraus aufteilen möchten, erstellen Sie die Tabelle mit der folgenden Syntax. Ersetzen Sie [TABLE_NAME] durch den Tabellennamen und [SPLITS] durch eine durch Kommas getrennte Liste mit Zeilenschlüsselpräfixen, die für die Vorabaufteilung verwendet werden sollen.

```
cbt createtable [TABLE_NAME] splits=[SPLITS]
```

Verwenden Sie folgenden Befehl, um die Tabelle my-table beispielsweise im Voraus bei den Zeilenschlüsseln aufzuteilen, die mit 10 und 20 beginnen:

```
cbt createtable my-table splits=10,20
```

Spaltenfamilien in einer Tabelle anpassen

Sie können Spaltenfamilien in eine vorhandene Tabelle einfügen. Wenn für die Tabelle kein Löschschutz aktiviert ist, können Sie Spaltenfamilien aus der Tabelle löschen.

Spaltenfamilien hinzufügen

Console

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie ändern möchten, auf Bearbeiten.

  5. Geben Sie für jede Spaltenfamilie, die Sie hinzufügen möchten, folgende Schritte ein:

    1. Klicken Sie auf Spaltenfamilie hinzufügen.
    2. Geben Sie eine eindeutige Kennung für die Spaltenfamilie ein.
    3. Legen Sie die Richtlinie für die automatische Speicherbereinigung für die Spaltenfamilie fest.
    4. Klicken Sie auf Fertig.
    5. Klicken Sie auf Speichern.

gcloud

Sie können die gcloud CLI nicht verwenden, um Spaltenfamilien zu einer Tabelle hinzuzufügen.

cbt

Verwenden Sie den folgenden Befehl, um eine Spaltenfamilie einer Tabelle hinzuzufügen. Dabei ersetzen Sie [TABLE_NAME] durch den Tabellennamen und [FAMILY_NAME] durch den Namen der Spaltenfamilie:

cbt createfamily [TABLE_NAME] [FAMILY_NAME]

Führen Sie beispielsweise den folgenden Befehl aus, um die Spaltenfamilien cf1 und cf2 zur Tabelle my-table hinzuzufügen:

cbt createfamily my-table cf1
cbt createfamily my-table cf2

Optional: Wenn Sie der Tabelle eine zusammengefasste Spaltenfamilie (Vorschau) hinzufügen möchten, hängen Sie für ganzzahlige Summen den Namen der Spaltenfamilie mit :instsum an und ersetzen Sie dabei FAMILY_NAME durch den Namen der neuen aggregierten Spaltenfamilie. Im Folgenden wird eine Tabelle mit einer aggregierten Spaltenfamilie mit der Richtlinie never für die automatische Speicherbereinigung erstellt.

cbt createtable TABLE_ID families=FAMILY_NAME:never:intsum

Spaltenfamilien löschen

Sie können Spaltenfamilien in einer Tabelle löschen, für die kein Löschschutz aktiviert ist.

Console

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie ändern möchten, auf Bearbeiten.

  5. Führen Sie für jede Spaltenfamilie, die Sie löschen möchten, die folgenden Schritte aus:

    1. Bewegen Sie den Mauszeiger auf die Zeile für die Spaltenfamilie, die Sie löschen möchten.
    2. Klicken Sie auf .
  6. Klicken Sie auf Speichern.

  7. Um zu bestätigen, dass Sie verstanden haben, dass das Löschen einer Spaltenfamilie dauerhaft ist und dass alle Daten in der Spaltenfamilie gelöscht werden, geben Sie "Spaltenfamilien löschen" in das Textfeld ein.

  8. Klicken Sie auf Bestätigen.

gcloud

Sie können die gcloud CLI nicht verwenden, um Spaltenfamilien aus einer Tabelle zu löschen.

cbt

Verwenden Sie den folgenden Befehl, um eine Spaltenfamilie aus einer Tabelle zu löschen. Dabei ersetzen Sie [TABLE_NAME] durch den Tabellennamen und [FAMILY_NAME] durch den Namen der Spaltenfamilie:

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Führen Sie beispielsweise den folgenden Befehl aus, um die Spaltenfamilie cf2 aus der Tabelle my-table zu löschen:

cbt deletefamily my-table cf2

Tabellenliste abrufen

Console

So können Sie eine Liste der in einer Instanz vorhandenen Tabellen abrufen:

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

    • Klicken Sie auf den Pfeil neben der Tabellen-ID, um die Liste mit den Replikationen der Tabelle zu erweitern.
    • Klicken Sie neben einem Tabellennamen auf Messwerte ansehen, um Monitoring-Daten für die Tabelle anzeigen zu lassen.

gcloud

Um eine Liste der Tabellen aufzurufen, führen Sie den Befehl gcloud bigquery instances Tables list aus.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Ersetzen Sie Folgendes:

  • INSTANCE_IDS: eine durch Kommas getrennte Liste von Instanz-IDs.

cbt

Führen Sie den folgenden Befehl aus, um eine Liste der in einer Instanz vorhandenen Tabellen abzurufen:

    cbt ls INSTANCE_ID

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

C++

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::cloud::StreamRange;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id) {
  std::string instance_name = cbt::InstanceName(project_id, instance_id);

  google::bigtable::admin::v2::ListTablesRequest r;
  r.set_parent(instance_name);
  r.set_view(google::bigtable::admin::v2::Table::NAME_ONLY);

  StreamRange<google::bigtable::admin::v2::Table> tables =
      admin.ListTables(std::move(r));
  for (auto& table : tables) {
    if (!table) throw std::move(table).status();
    std::cout << table->name() << "\n";
  }
}

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Lists tables in intance.
// Initialize request argument(s).
ListTablesRequest request = new ListTablesRequest
{
    ParentAsInstanceName = s_instanceName
};
try
{
    // Make the request.
    PagedEnumerable<ListTablesResponse, Table> response = bigtableTableAdminClient.ListTables(request);

}
catch (Exception ex)
{
    Console.WriteLine($"Error listing tables {ex.Message}");
}

Java

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Lists tables in the current instance.
try {
  List<String> tableIds = adminClient.listTables();
  for (String tableId : tableIds) {
    System.out.println(tableId);
  }
} catch (NotFoundException e) {
  System.err.println("Failed to list tables from a non-existent instance: " + e.getMessage());
}

Node.js

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// List tables in current project
const [tables] = await instance.getTables();
tables.forEach(table => {
  console.log(table.id);
});

PHP

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Bigtable\Admin\V2\Client\BigtableInstanceAdminClient;
use Google\Cloud\Bigtable\Admin\V2\Client\BigtableTableAdminClient;
use Google\Cloud\Bigtable\Admin\V2\ListTablesRequest;

/**
 * List tables in an instance
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 */
function list_tables(
    string $projectId,
    string $instanceId
): void {
    $instanceAdminClient = new BigtableInstanceAdminClient();
    $tableAdminClient = new BigtableTableAdminClient();

    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);

    printf('Listing Tables:' . PHP_EOL);
    $listTablesRequest = (new ListTablesRequest())
        ->setParent($instanceName);
    $tables = $tableAdminClient->listTables($listTablesRequest)->iterateAllElements();
    $tables = iterator_to_array($tables);
    if (empty($tables)) {
        print('No table exists.' . PHP_EOL);
        return;
    }
    foreach ($tables as $table) {
        print($table->getName() . PHP_EOL);
    }
}

Python

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

tables = instance.list_tables()
print("Listing tables in current project...")
if tables != []:
    for tbl in tables:
        print(tbl.table_id)
else:
    print("No table exists in current project...")

Ruby

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Bigtable zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# instance_id = "my-instance"
bigtable.tables(instance_id).all.each do |t|
  puts "Table: #{t.name}"
end

Informationen zu einer Tabelle ansehen

Console

So rufen Sie Informationen zu einer Tabelle auf:

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen. Für jede Tabelle zeigt die Google Cloud Console die Anzahl der Cluster an, in denen die Tabelle gespeichert ist, sowie den Status, die Speicherauslastung und die Kennungen für alle aktuellen Sicherungen der Tabelle.

  4. Klicken Sie auf , um die Namen der Spaltenfamilien für die Tabelle aufzurufen. Klicken Sie auf Abbrechen, um den Bereich Tabelle bearbeiten zu schließen.

  5. Klicken Sie auf den Namen der Tabelle, um weitere Details zur Tabelle anzuzeigen, einschließlich Messwerte auf Tabellenebene und Replikationsstatus.

gcloud

Wenn Sie Informationen zu einer Tabelle aufrufen möchten, führen Sie den Befehl gcloud bigquery se sekundentabellen beschreibung aus.

gcloud bigtable instances tables describe TABLE_ID \
    --instance=INSTANCE_ID

Ersetzen Sie Folgendes:

  • TABLE_ID: eindeutige ID der Tabelle
  • INSTANCE_ID: die ID der Instanz

cbt

Mit der cbt-Befehlszeile können Sie eine Liste der vorhandenen Spaltenfamilien in einer Tabelle abrufen.

Verwenden Sie den folgenden Befehl und ersetzen Sie dabei [TABLE_NAME] durch den Tabellennamen:

cbt ls [TABLE_NAME]

Richtlinien zur automatischen Speicherbereinigung festlegen

Eine Richtlinie für die automatische Speicherbereinigung teilt Bigtable mit, welche Daten beibehalten und welche zum Löschen markiert werden sollen. Richtlinien für die automatische Speicherbereinigung werden auf der Ebene der Spaltenfamilien festgelegt. Sie können sie beim Erstellen der Tabelle oder höher festlegen.

Wenn Sie eine Spaltenfamilie erstellen, können Sie die Anzahl der Zellen angeben, die Sie in jeder Spalte der Spaltenfamilie beibehalten möchten. Wenn Sie diese Einstellung nicht angeben, verwendet Bigtable eine der folgenden Standardeinstellungen.

  • Wenn Sie die Spaltenfamilie mit dem Cloud Bigtable-HBase-Client für Java oder mit HBase Shell oder mit einem anderen Tool erstellen, das den HBase-Client für Java verwendet, behält Bigtable nur eine Zelle für jede Zeilen-/Spaltenkreuzung in der Spaltenfamilie bei. Diese Standardeinstellung stimmt mit HBase überein.

  • Wenn Sie die Spaltenfamilie mit der Google Cloud Console, einer anderen Clientbibliothek oder der cbt-Befehlszeile erstellen, behält Bigtable eine unendliche Anzahl von Zellen in jeder Spalte bei.

Unter Richtlinien für die automatische Speicherbereinigung konfigurieren finden Sie eine detaillierte Anleitung, wie Sie Richtlinien für die automatische Speicherbereinigung anzeigen, festlegen und aktualisieren.

Tabelle sichern und wiederherstellen

Eine Anleitung zum Sichern einer Tabelle und zur Wiederherstellung aus einer Sicherung in einer neuen Tabelle finden Sie unter Sicherungen verwalten.

Wenn Sie beim Erstellen einer Tabelle die automatische Sicherung aktiviert haben, können Sie die Konfiguration der automatischen Sicherung für eine Tabelle ändern, um die automatische Sicherung zu aktivieren oder zu deaktivieren, oder die Aufbewahrungsdauer auf bis zu 90 Tage ab dem Zeitpunkt der Sicherungserstellung ändern. Weitere Informationen finden Sie unter Automatische Sicherung verwenden.

Änderungsstream aktivieren, deaktivieren oder konfigurieren

Anleitungen zu den folgenden Aufgaben finden Sie unter Änderungsstream konfigurieren.

  • Änderungsstream für eine vorhandene Tabelle aktivieren
  • Änderungsstream deaktivieren
  • Aufbewahrungsdauer für Änderungsstreams aktualisieren

Tabelle löschen

Beim Löschen einer Tabelle werden auch alle autorisierten Ansichten der Tabelle gelöscht. Sie können eine Tabelle nicht löschen, wenn für eine autorisierte Ansicht der Tabelle der Löschschutz aktiviert ist.

Console

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie löschen möchten, auf .

  5. Klicken Sie auf Löschen.

  6. Mit der Eingabe der Tabellen-ID in das Textfeld akzeptieren Sie, dass diese Aktion die Tabelle aus allen Clustern in der Instanz löscht und Sie nur sieben Tage Zeit haben, um die Tabelle wiederherzustellen.

  7. Klicken Sie auf Löschen.

gcloud

  1. Um Tabellen zu löschen, führen Sie den Befehl gcloud Bigtable Instances Tables delete aus.

    gcloud bigtable instances tables delete --instance=INSTANCE_ID
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID: die ID der Instanz
  2. Geben Sie im Terminal y ein, um das Löschen der Tabelle zu bestätigen.

cbt

Zum Löschen einer Tabelle verwenden Sie den im Folgenden aufgeführten Befehl. Ersetzen Sie dabei [TABLE_NAME] durch den Tabellennamen:

cbt deletetable [TABLE_NAME]

Tabelle wiederherstellen

Wenn Sie eine Tabelle versehentlich löschen, können Sie die Tabelle mit dem gcloud CLI-Befehl bigtable instances tables undelete undelete. Versuchen Sie nicht zuerst, die gelöschte Tabelle manuell zu erstellen.

Führen Sie den folgenden Befehl im Terminal aus, um eine Tabelle wiederherzustellen:

gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID

Ersetzen Sie Folgendes:

  • TABLE_ID: die eindeutige ID für die Tabelle
  • INSTANCE_ID: die ID der Instanz

Es gelten folgende Einschränkungen:

  • Die Möglichkeit, eine Tabelle wiederherzustellen, ist für einen Zeitraum von etwa sieben Tagen nach dem Löschen der Tabelle verfügbar.
  • Sie können eine Tabelle nicht mit der Google Cloud Console, den Cloud Bigtable-Clientbibliotheken oder der cbt CLI wiederherstellen.
  • Sie können eine Tabelle nicht aus einer Instanz wiederherstellen, die gelöscht wurde.
  • Sie können eine Tabelle, die CMEK aktiviert hatte, nicht wiederherstellen.
  • Detaillierte IAM-Richtlinienbindungen einer Tabelle vor dem Löschen werden beim Wiederherstellen der Tabelle nicht wiederhergestellt.

Optional können Sie den Status des Vorgangs undelete in den Audit-Logs prüfen.

Löschschutz ändern

Sie können den Löschschutz für eine Tabelle aktivieren oder deaktivieren, wenn Sie Hauptkonto in einer Rolle sind, die die Berechtigung bigtable.tables.update enthält, z. B. roles/bigtable.admin. Der Löschschutz verhindert das Löschen der Tabelle, aller Spaltenfamilien in der Tabelle und der Instanz, die die Tabelle enthält.

Wenn Sie den Löschschutz für eine Tabelle aktivieren, wird er nicht für autorisierte Ansichten der Tabelle aktiviert. Ebenso wird der Löschschutz einer Tabelle nicht für autorisierte Ansichten der Tabelle deaktiviert. Sie müssen die autorisierten Ansichten der Tabelle separat aktualisieren.

Console

  1. Öffnen Sie die Liste der Bigtable-Instanzen in der Google Cloud Console.

    Liste der Instanzen öffnen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite Tabellen enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie neben der Tabellen-ID auf .

  5. Klicken Sie auf Löschen verhindern, um den Löschschutz zu aktivieren. Klicken Sie auf Löschen aktivieren, um den Löschschutz zu deaktivieren. Nur die gültige Option ist sichtbar.

gcloud

Führen Sie den Befehl gcloud bigtable instances table update aus, um den Löschschutz für eine Tabelle zu aktivieren:

gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --deletion-protection

Führen Sie folgenden Befehl aus, um den Löschschutz für eine Tabelle zu deaktivieren:

gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --no-deletion-protection

Ersetzen Sie Folgendes:

+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance

cbt

Sie können den Löschschutz nicht über die cbt-Befehlszeile aktivieren oder deaktivieren.