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 cbt CLI.

L'cbt CLI supporta diversi comandi che non sono descritti in questa pagina. Consulta la documentazione di riferimento di cbt per un elenco completo dei comandi.

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

Per istruzioni su come creare e gestire le viste autorizzate di una tabella, consulta Viste autorizzate.

Prima di iniziare

Se prevedi di utilizzare le tabelle con gli strumenti a riga di comando, segui i passaggi riportati in questa sezione.

  1. Installa la gcloud CLI.

  2. (Facoltativo) Se prevedi di utilizzare l'interfaccia a riga di comando cbt, segui le istruzioni riportate in Installazione dell'interfaccia a riga di comando cbt , incluso il passaggio per creare un file .cbtrc.

    Le istruzioni dell'interfaccia a riga di comando cbt riportate 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 cbt CLI.

Creare una tabella

Quando crei una tabella, non devi specificare le famiglie di colonne da utilizzare nella tabella. Puoi aggiungere o eliminare le 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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle 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 che tu possa scrivere dati al suo interno. Una tabella deve avere almeno una famiglia di colonne prima che tu possa scrivere dati al suo interno o leggere un stream di variazioni.

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

    1. Seleziona Attiva flusso di modifiche.

    2. Nel campo Data di scadenza, inserisci un numero compreso tra 1 e 7 per specificare il numero di giorni per i quali 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 ad Abilita il backup automatico. Per ulteriori informazioni, consulta Utilizzare il backup automatico (anteprima).

  8. Fai clic su Crea una tabella.

gcloud

Per creare una tabella, esegui il seguente 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 un flusso di modifiche per la tabella, specifica un periodo di conservazione per i dati del flusso di modifiche. Prima di attivare un stream di modifiche, assicurati di comprendere le implicazioni, inclusi i costi di archiviazione aggiuntivi e i requisiti di utilizzo del profilo dell'app. Per esaminare questi dettagli, consulta la Panoramica degli stream di modifiche.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Sostituisci RETENTION_PERIOD con il periodo di tempo per cui Bigtable deve conservare i dati del flusso di modifiche per la tabella. Il periodo di tempo deve essere compreso tra 1 e 7 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, attiva il backup automatico (anteprima):

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

cbt

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

cbt createtable TABLE_ID

(Facoltativo) Per creare una famiglia di colonne aggregate nella tabella, accoda il nome della famiglia di colonne al tipo di aggregazione. Il seguente codice crea una famiglia di colonne aggregate con un criterio di raccolta del garbage 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 aggregato. Deve essere intsum, intmin, intmax o inthll.

Per altre opzioni, consulta la sezione Creare una tabella nella documentazione di riferimento della CLI cbt.

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

(Facoltativo) Dividi la tabella in base alla chiave di riga

Per ottimizzare le prestazioni, Bigtable suddivide continuamente le tabelle su più nodi, distribuendo in modo uniforme la quantità di dati archiviati su ciascun nodo e mantenendo le righe a cui si accede di frequente separate, ove possibile. Questa procedura in corso è automatica.

Quando crei una nuova tabella, puoi specificare le suddivisioni iniziali della tabella. Bigtable suddivide la tabella in base alle chiavi di riga che fornisci. Se gli spazi delle chiavi sono troppo grandi, Bigtable suddivide ulteriormente la tabella. Le suddivisioni 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 avvenire le suddivisioni iniziali.

Ad esempio, potresti designare righe specifiche per predividere la tabella se stai per scrivere molte righe nella tabella.

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

Console

Non puoi suddividere in anticipo le righe quando crei una tabella utilizzando la console Google Cloud.

gcloud

Per suddividere una tabella in base alla chiave di riga, esegui il seguente 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 suddivisa, ad esempio 10,20.

cbt

Per predividere 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 delle chiavi di riga da utilizzare per le suddivisioni preliminari.

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

Ad esempio, per predividere la tabella my-table in base alle chiavi di riga che iniziano con 10 e 20:

```
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 la protezione da eliminazione abilitata, puoi eliminare le famiglie di colonne al suo interno.

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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle tabelle nell'istanza.

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

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

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

gcloud

Non puoi utilizzare l'interfaccia alla 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, appendi il nome della famiglia di colonne al tipo di aggregazione. Il codice seguente crea una tabella con una famiglia di colonne aggregate con un criterio 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 famiglie di colonne in una tabella per la quale non è abilitata la protezione dall'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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle tabelle nell'istanza.

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

  5. Per ogni famiglia di colonne che vuoi eliminare:

    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 è permanente e che tutti i dati al suo interno verranno eliminati, digita "Elimina famiglie di colonne" nel campo di testo.

  8. Fai clic su Conferma.

gcloud

Non puoi utilizzare l'interfaccia alla 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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle tabelle nell'istanza.

    • Fai clic sulla freccia accanto all'ID tabella per espandere un elenco di repliche della tabella.
    • Fai clic su Visualizza metriche accanto al nome di una tabella per visualizzare i dati di monitoraggio della tabella.

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 di tabelle in un'istanza, esegui il seguente comando:

    cbt ls INSTANCE_ID

Sostituisci quanto segue:

  • INSTANCE_ID: l'identificatore permanente dell'istanza.

C++

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

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 Librerie client Bigtable.

Per autenticarti a Bigtable, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 le 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 Tables (Tabelle) nel riquadro a sinistra.

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

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

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

gcloud

Per visualizzare le 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 cbt CLI 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 i criteri di garbage collection

Un criterio di garbage collection indica a Bigtable quali dati conservare e quali contrassegnare per l'eliminazione. I criteri di garbage collection vengono impostati 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 HBase di Cloud Bigtable 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 l'interfaccia a riga di comando cbt, Bigtable conserva un numero infinito di celle in ogni colonna.

Per istruzioni dettagliate su come visualizzare, impostare e aggiornare i criteri di garbage collection, consulta Configurare i criteri di garbage collection.

Eseguire il backup e il ripristino di una tabella

Consulta Gestire i backup per istruzioni su come eseguire il backup di una tabella e il ripristino da un backup in una nuova tabella.

Se hai attivato il backup automatico durante la creazione di una tabella, puoi modificare la configurazione del backup automatico per una tabella per attivare o disattivare il backup automatico oppure modificare il periodo di conservazione fino a 90 giorni dal momento della creazione del backup. Per ulteriori informazioni, consulta Utilizzare il backup automatico.

Attivare, disattivare o configurare un flusso di modifiche

Per istruzioni sulle seguenti attività, consulta Configurare un stream di modifiche.

  • Attivare uno stream di modifiche in una tabella esistente
  • Disattivare un flusso di modifiche
  • Aggiornare il periodo di conservazione di uno stream di modifiche

Eliminazione di una tabella

L'eliminazione di una tabella comporta anche l'eliminazione di tutte le visualizzazioni autorizzate della tabella. Non puoi eliminare una tabella se per le visualizzazioni autorizzate della tabella è 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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle tabelle nell'istanza.

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

  5. Fai clic su Elimina.

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

  7. Fai clic su Elimina.

gcloud

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

    gcloud bigtable instances tables delete --instance=INSTANCE_ID
    

    Sostituisci quanto segue:

    • 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 bigtable instances tables undelete gcloud CLI per annullare l'eliminazione o recuperare la tabella. Non tentare prima di creare manualmente la tabella eliminata.

Per annullare l'eliminazione di una tabella, esegui il seguente 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

Si applicano le seguenti limitazioni:

  • La possibilità di annullare l'eliminazione di una tabella è disponibile per circa sette giorni dal momento dell'eliminazione della tabella.
  • Non riesci a annullare l'eliminazione di una tabella utilizzando la console Google Cloud, le librerie client Cloud Bigtable o l'interfaccia a riga di comando cbt.
  • Non è possibile annullare l'eliminazione di una tabella da un'istanza eliminata.
  • Non puoi annullare l'eliminazione di una tabella per cui è stato attivato CMEK.
  • Eventuali associazioni di criteri IAM granulari di una tabella precedenti all'eliminazione non vengono ripristinate quando la tabella viene annullata.

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

Modificare la 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 al suo interno e dell'istanza che la contiene.

L'attivazione della protezione da eliminazione per una tabella non la attiva per le visualizzazioni autorizzate della tabella. Analogamente, la disattivazione della protezione da eliminazione di una tabella non la disattiva per le visualizzazioni autorizzate della tabella. Devi aggiornare le viste autorizzate della tabella distintamente.

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 Tables (Tabelle) nel riquadro a sinistra.

    La pagina Tables (Tabelle) mostra un elenco delle tabelle nell'istanza.

  4. Fai clic su accanto all'ID tabella.

  5. Per attivare la protezione da eliminazione, fai clic su Impedisci eliminazione. Per disattivare la protezione da eliminazione, fai clic su Consenti eliminazione. È visibile solo l'opzione valida.

gcloud

Per attivare la protezione dall'eliminazione per una tabella, esegui il comando gcloud bigtable instances table update:

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

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

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 cbt CLI per attivare o disattivare la protezione dall'eliminazione.