Creazione e gestione delle tabelle

Questa pagina spiega come creare ed eseguire operazioni sulle tabelle Bigtable utilizzando la console Google Cloud , Google Cloud CLI o la CLIcbt.

L'interfaccia a riga di comando cbt supporta diversi comandi non descritti in questa pagina. Per un elenco completo dei comandi, consulta la documentazione di riferimento di cbt.

Puoi anche creare e gestire tabelle in modo programmatico con le librerie client o le API di servizio di Cloud Bigtable.

Per istruzioni sulla creazione e la gestione di viste autorizzate di una tabella, consulta Viste autorizzate.

Prima di iniziare

Se prevedi di lavorare con le tabelle utilizzando strumenti a riga di comando, segui i passaggi in questa sezione.

  1. Installa gcloud CLI.

  2. (Facoltativo) Se prevedi di utilizzare la CLI cbt, segui le istruzioni riportate in Installazione della CLI cbt , incluso il passaggio per creare un file .cbtrc.

    Le istruzioni dell'interfaccia a riga di comando cbt in questa pagina presuppongono che tu abbia impostato l'ID progetto e l'ID istanza nel file .cbtrc. In alternativa, puoi utilizzare i flag -project e -instance per impostare questi valori ogni volta che esegui un comando dell'interfaccia a riga di comando cbt.

Creare una tabella

Quando crei una tabella, non devi specificare le famiglie di colonne da utilizzare nella tabella. Puoi aggiungere o eliminare famiglie di colonne in un secondo momento.

Console

Per creare una nuova tabella in un'istanza:

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Inserisci un ID tabella per la tabella.

  5. (Facoltativo) Aggiungi famiglie di colonne.

    Puoi aggiungere colonne ora o in un secondo momento. Una tabella deve avere almeno una famiglia di colonne prima di poter scriverci dati. Una tabella deve avere almeno una famiglia di colonne prima di poter scriverci dati o leggerne uno stream di modifiche.

  6. (Facoltativo) Abilita un flusso di modifiche per la tabella. Prima di attivare uno stream di modifiche, assicurati di comprendere le implicazioni, inclusi l'aumento dei costi di archiviazione e i requisiti di utilizzo del profilo dell'app. Per esaminare questi dettagli, vedi la Panoramica degli stream di modifiche.

    1. Seleziona Abilita flusso di modifiche.

    2. Nel campo Tempo di scadenza, inserisci un numero compreso tra 1 e 7 per specificare il numero di giorni per cui devono essere conservati i dati dello stream di modifiche.

    3. Fai clic su Crea.

  7. (Facoltativo) Se non vuoi che Bigtable crei un backup giornaliero della tabella, deseleziona la casella di controllo accanto a Attiva backup automatico. Per saperne di più, consulta la sezione Utilizzare il backup automatico.

  8. Fai clic su Crea una tabella.

gcloud

Per creare una tabella, esegui questo comando. Consulta gcloud bigtable instances tables create per un elenco completo delle opzioni.

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

Sostituisci quanto segue:

  • TABLE_ID: un ID univoco per la nuova tabella
  • INSTANCE_ID: l'ID dell'istanza
  • PROJECT_ID: il progetto che conterrà la nuova tabella
  • COLUMN-FAMILIES: un elenco separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.

Facoltativamente,

  • Per proteggere la tabella dall'eliminazione, aggiungi al comando --deletion-protection. Se non applichi questa impostazione, la tabella può essere eliminata. Puoi anche consentire esplicitamente l'eliminazione della tabella aggiungendo --no-deletion-protection.

  • Per attivare uno stream di modifiche per la tabella, specifica un periodo di conservazione per i dati dello stream di modifiche. Prima di attivare uno stream di modifiche, assicurati di comprendere le implicazioni, inclusi i maggiori costi di archiviazione e i requisiti di utilizzo del profilo dell'app. Per esaminare questi dettagli, consulta la Panoramica dei flussi di modifiche.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Sostituisci RETENTION_PERIOD con il periodo di tempo per il quale Bigtable deve conservare i dati del flusso di modifiche per la tabella. Il tempo deve essere compreso tra uno e sette giorni. Le unità accettabili sono giorni (d), ore (h), minuti (m) e secondi (s). Esempi: 48h o 6d

  • Per consentire a Bigtable di creare un backup giornaliero della tabella e conservare ogni backup per il periodo di conservazione predefinito di sette giorni, utilizza il flag --enable-automated-backup quando crei la tabella.

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

    Per configurare un periodo di conservazione diverso, utilizza il flag --automated-backup-retention-period anziché il flag --enable-automated-backup e fornisci un valore fino a 90 giorni, espresso come numero con un'unità di m, h o d (minuti, ore o giorni), ad esempio 15d per 15 giorni.

cbt

Utilizza il seguente comando, sostituendo TABLE_NAME con il nome della tabella. Non puoi utilizzare la CLI cbt per creare una tabella con uno stream di modifiche abilitato.

cbt createtable TABLE_ID

(Facoltativo) Per creare una famiglia di colonne aggregate nella tabella, aggiungi il tipo di aggregazione al nome della famiglia di colonne. Il seguente crea una famiglia di colonne aggregate con una norma di garbage collection di never.

cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE

Sostituisci quanto segue:

  • TABLE_ID: un ID univoco per la nuova tabella
  • FAMILY_NAME: : un elenco separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • TYPE: il tipo di aggregazione. Deve essere intsum, intmin, intmax o inthll.

Per altre opzioni, consulta Creare una tabella nella guida di riferimento cbt CLI.

Se hai eliminato una tabella per errore, non tentare di crearla manualmente. Utilizza il comando gcloud CLI bigtable instances tables undelete per recuperare la tabella.

(Facoltativo) Dividi la tabella per chiave di riga

Per ottimizzare le prestazioni, Bigtable suddivide continuamente le tabelle su più nodi, distribuendo uniformemente la quantità di dati archiviati su ciascun nodo e mantenendo le righe a cui si accede di frequente il più distanti possibile. Questo processo continuo è automatico.

Quando crei una nuova tabella, puoi specificare le suddivisioni iniziali. Bigtable divide la tabella in base alle chiavi di riga che fornisci. Se gli spazi delle chiavi sono troppo grandi, Bigtable suddivide ulteriormente la tabella. Le divisioni iniziali vengono mantenute per circa 24 ore dopo il completamento della creazione della tabella. Puoi fornire fino a 100 chiavi di riga in cui devono verificarsi le suddivisioni iniziali.

Ad esempio, puoi designare righe specifiche per dividere in anticipo la tabella se stai per scrivere molte righe nella tabella.

La pre-suddivisione della tabella non è essenziale, ma è utile perché fornisce a Bigtable informazioni su dove è probabile che si trovino il carico e l'impronta dei dati quando viene creata la tabella. La pre-suddivisione impedisce a Bigtable di dover suddividere le tabelle e ribilanciare il carico contemporaneamente all'arrivo dei dati.

Console

Non puoi dividere in anticipo le righe quando crei una tabella utilizzando la consoleGoogle Cloud .

gcloud

Per dividere una tabella in base alla chiave di riga, esegui questo comando. Consulta gcloud bigtable instances tables create per un elenco completo delle opzioni.

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

Sostituisci quanto segue:

  • TABLE_ID: un ID univoco per la nuova tabella
  • INSTANCE_ID: l'ID dell'istanza
  • PROJECT_ID: il progetto che conterrà la nuova tabella
  • COLUMN-FAMILIES: un elenco separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • SPLITS: le chiavi di riga in cui la tabella deve essere inizialmente divisa, ad esempio 10,20.

cbt

Per pre-dividere una tabella in base alla chiave di riga, utilizza la seguente sintassi per creare la tabella. Sostituisci [TABLE_NAME] con il nome della tabella e [SPLITS] con un elenco separato da virgole di prefissi di chiavi di riga da utilizzare per le pre-divisioni.

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

Ad esempio, per pre-dividere la tabella my-table in corrispondenza delle chiavi di riga che iniziano con 10 e 20:

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

Modificare le famiglie di colonne in una tabella

Puoi aggiungere famiglie di colonne in una tabella esistente. Se la tabella non ha protezione da eliminazione abilitata, puoi eliminare le famiglie di colonne nella tabella.

Aggiungere famiglie di colonne

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Per ogni famiglia di colonne che vuoi aggiungere, completa quanto segue:

    1. Fai clic su Aggiungi famiglia di colonne.
    2. Fornisci un identificatore univoco per la famiglia di colonne.
    3. Imposta la policy di garbage collection per la famiglia di colonne.
    4. Fai clic su Fine.
    5. Fai clic su Salva.

gcloud

Non puoi utilizzare gcloud CLI per aggiungere famiglie di colonne a una tabella.

cbt

Per aggiungere una famiglia di colonne a una tabella, utilizza il seguente comando:

cbt createfamily TABLE_ID FAMILY_NAME

Ad esempio, per aggiungere le famiglie di colonne cf1 e cf2 alla tabella my-table:

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

(Facoltativo) Per aggiungere una famiglia di colonne aggregate alla tabella, aggiungi il nome della famiglia di colonne con il tipo di aggregazione. Il seguente crea una tabella con una famiglia di colonne aggregate con una norma di garbage collection di never.

cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE

Sostituisci quanto segue:

  • TABLE_ID: l'ID tabella
  • FAMILY_NAME: : un elenco separato da virgole di nomi di famiglia di colonne. Puoi aggiungere altre famiglie di colonne in un secondo momento.
  • TYPE: il tipo di aggregazione. Deve essere intsum, intmin, intmax o inthll.

Elimina famiglie di colonne

Puoi eliminare le famiglie di colonne in una tabella in cui non è abilitata la protezione da eliminazione.

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su Modifica per la tabella che vuoi modificare.

  5. Per ogni famiglia di colonne che vuoi eliminare, completa le seguenti operazioni:

    1. Passa il mouse sopra la riga della famiglia di colonne che vuoi eliminare.
    2. Fai clic su .
  6. Fai clic su Salva.

  7. Per confermare di aver compreso che l'eliminazione di una famiglia di colonne è definitiva e che tutti i dati della famiglia di colonne verranno eliminati, digita "Elimina famiglie di colonne" nel campo di testo.

  8. Fai clic su Conferma.

gcloud

Non puoi utilizzare gcloud CLI per eliminare famiglie di colonne da una tabella.

cbt

Per eliminare una famiglia di colonne da una tabella, utilizza il seguente comando, sostituendo [TABLE_NAME] con il nome della tabella e [FAMILY_NAME] con il nome della famiglia di colonne:

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Ad esempio, per eliminare la famiglia di colonne cf2 dalla tabella my-table:

cbt deletefamily my-table cf2

Visualizzare un elenco di tabelle

Console

Per visualizzare un elenco di tabelle in un'istanza:

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

gcloud

Per visualizzare un elenco di tabelle, esegui il comando gcloud bigtable instances tables list.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Sostituisci quanto segue:

  • INSTANCE_IDS: un elenco separato da virgole di ID istanza.

cbt

Per visualizzare un elenco delle tabelle in un'istanza, esegui questo comando:

    cbt ls INSTANCE_ID

Sostituisci quanto segue:

  • INSTANCE_ID: L'identificatore permanente per l'istanza.

C++

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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#

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

PHP

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Bigtable, consulta la sezione Librerie client Bigtable.

Per eseguire l'autenticazione in Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Visualizzare informazioni su una tabella

Console

Per visualizzare informazioni su una tabella:

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza. Per ogni tabella, la console Google Cloud mostra il numero di cluster in cui è archiviata la tabella, lo stato della tabella, l'utilizzo dello spazio di archiviazione e gli identificatori di eventuali backup correnti della tabella.

  4. Per visualizzare i nomi famiglia di colonne della tabella, fai clic su . Per chiudere il riquadro Modifica tabella, fai clic su Annulla.

  5. Per visualizzare ulteriori dettagli sulla tabella, incluse le metriche a livello di tabella e lo stato della replica, fai clic sul nome della tabella.

gcloud

Per visualizzare informazioni su una tabella, esegui il comando gcloud bigtable instances tables describe.

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

Sostituisci quanto segue:

  • TABLE_ID: un ID univoco della tabella
  • INSTANCE_ID: l'ID dell'istanza

cbt

Puoi utilizzare l'interfaccia a riga di comando cbt per ottenere un elenco delle famiglie di colonne esistenti in una tabella.

Utilizza il seguente comando, sostituendo [TABLE_NAME] con il nome della tabella:

cbt ls [TABLE_NAME]

Imposta le policy di garbage collection

Un criterio di garbage collection indica a Bigtable quali dati conservare e quali contrassegnare per l'eliminazione. Le policy di garbage collection vengono impostate a livello di famiglia di colonne. Puoi impostarli quando crei la tabella o in un secondo momento.

Quando crei una famiglia di colonne, puoi specificare il numero di celle da conservare in ogni colonna della famiglia. Se non specifichi questa impostazione, Bigtable utilizza una delle seguenti impostazioni predefinite:

  • Se crei la famiglia di colonne con il client Cloud Bigtable HBase per Java o la shell HBase o un altro strumento che utilizza il client HBase per Java, Bigtable conserva solo una cella per ogni intersezione riga/colonna nella famiglia di colonne. Questa impostazione predefinita è coerente con HBase.

  • Se crei la famiglia di colonne utilizzando la console Google Cloud , qualsiasi altra libreria client o la CLIcbt , Bigtable conserva un numero infinito di celle in ogni colonna.

Consulta Configurare le policy di garbage collection per istruzioni dettagliate su come visualizzare, impostare e aggiornare le policy di garbage collection.

Eseguire il backup e ripristinare una tabella

Per istruzioni su come eseguire il backup di una tabella e ripristinarla da un backup in una nuova tabella, vedi Gestire i backup.

Se hai abilitato il backup automatico durante la creazione di una tabella, puoi modificare la configurazione del backup automatico per una tabella per abilitare o disabilitare il backup automatico oppure modificare il periodo di conservazione fino a 90 giorni dalla data di creazione del backup. Per ulteriori informazioni, vedi Utilizzare il backup automatico.

Attivare, disattivare o configurare un flusso di modifiche

Per istruzioni sulle seguenti attività, vedi Configurare uno stream di modifiche.

  • Attivazione di uno stream di modifiche su una tabella esistente
  • Disattivazione di un flusso di modifiche
  • Aggiorna il periodo di conservazione per un flusso di modifiche

Eliminazione di una tabella

L'eliminazione di una tabella comporta anche l'eliminazione di tutte le visualizzazioni autorizzate della tabella. Se in una delle viste autorizzate della tabella è abilitata la protezione da eliminazione, non puoi eliminare la tabella. Inoltre, non puoi eliminare una tabella basata su una vista materializzata continua.

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su per la tabella che vuoi eliminare.

  5. Fai clic su Elimina.

  6. Per confermare di essere consapevole che questa azione eliminerà la tabella da tutti i cluster nell'istanza e che hai solo sette giorni di tempo per annullare l'eliminazione della tabella, digita l'ID tabella nella casella Elimina tabella.

  7. Fai clic su Elimina.

gcloud

  1. Per eliminare le tabelle, esegui il comando gcloud bigtable instances tables delete.

    gcloud bigtable instances tables delete TABLE_ID --instance=INSTANCE_ID
    

    Sostituisci quanto segue:

    • TABLE_ID: l'ID univoco della tabella
    • INSTANCE_ID: l'ID dell'istanza
  2. Nel terminale, inserisci y per confermare l'eliminazione della tabella.

cbt

Per eliminare una tabella, utilizza il seguente comando, sostituendo [TABLE_NAME] con il nome della tabella:

cbt deletetable [TABLE_NAME]

Annullare l'eliminazione di una tabella

Se elimini accidentalmente una tabella, puoi utilizzare il comando gcloud CLI bigtable instances tables undelete per annullare l'eliminazione o recuperare la tabella. Non provare a ricreare manualmente la tabella eliminata.

Per ripristinare una tabella, esegui questo comando nel terminale:

gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID

Sostituisci quanto segue:

  • TABLE_ID: l'identificatore univoco della tabella
  • INSTANCE_ID: l'ID dell'istanza

Quando annulli l'eliminazione di una tabella, Bigtable attiva automaticamente la protezione contro l'eliminazione per la tabella.

Si applicano le seguenti limitazioni:

  • La possibilità di recuperare una tabella è disponibile per circa sette giorni dall'eliminazione della tabella.
  • Non puoi annullare l'eliminazione di una tabella utilizzando la console Google Cloud , le librerie client Cloud Bigtable o la CLI cbt.
  • Non puoi recuperare una tabella da un'istanza eliminata.
  • Non puoi recuperare una tabella per cui era abilitata CMEK.
  • Quando annulli l'eliminazione di una tabella, Bigtable non ripristina alcun binding dei criteri IAM granulari alla tabella eliminata.

Se vuoi, puoi controllare lo stato dell'operazione undelete nei log di controllo.

Modifica protezione da eliminazione

Puoi attivare o disattivare la protezione da eliminazione per una tabella se sei un'entità in un ruolo che include l'autorizzazione bigtable.tables.update, ad esempio roles/bigtable.admin. La protezione dall'eliminazione impedisce l'eliminazione della tabella, di tutte le famiglie di colonne nella tabella e dell'istanza che contiene la tabella.

L'abilitazione della protezione da eliminazione per una tabella non la abilita per le viste autorizzate della tabella. Analogamente, la disattivazione della protezione da eliminazione di una tabella non la disattiva per le viste autorizzate della tabella. Devi aggiornare le viste autorizzate della tabella separatamente.

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud .

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza di cui vuoi visualizzare le tabelle.

  3. Fai clic su Tabelle nel riquadro a sinistra.

    La pagina Tabelle mostra un elenco di tabelle nell'istanza.

  4. Fai clic su accanto all'ID tabella.

  5. Per abilitare la protezione da eliminazione, fai clic su Impedisci eliminazione. Per disattivare la protezione da eliminazione, fai clic su Attiva eliminazione. Viene visualizzata solo l'opzione valida.

gcloud

Per abilitare la protezione da eliminazione per una tabella, esegui il comando gcloud bigtable instances table update:

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

Per disattivare la protezione da eliminazione per una tabella, esegui questo comando:

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

Sostituisci quanto segue:

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

cbt

Non puoi utilizzare la CLI cbt per abilitare o disabilitare la protezione dall'eliminazione.

Passaggi successivi