Membuat dan mengelola tabel

Halaman ini menjelaskan cara membuat dan melakukan operasi pada tabel Bigtable menggunakan konsol Google Cloud , Google Cloud CLI, atau CLI cbt.

CLI cbt mendukung beberapa perintah yang tidak dijelaskan di halaman ini. Untuk daftar lengkap perintah, lihat referensi cbt.

Anda juga dapat membuat dan mengelola tabel secara terprogram dengan library klien Cloud Bigtable atau API layanan.

Untuk mengetahui petunjuk tentang cara membuat dan mengelola tampilan tabel yang diotorisasi, lihat tampilan yang diotorisasi.

Sebelum memulai

Jika Anda berencana untuk menggunakan tabel dengan alat command line, ikuti langkah-langkah di bagian ini.

  1. Instal gcloud CLI.

  2. Opsional: Jika Anda berencana menggunakan cbt CLI , ikuti petunjuk di Menginstal cbt CLI , termasuk langkah-langkah untuk membuat file .cbtrc.

    Petunjuk cbt CLI di halaman ini mengasumsikan bahwa Anda telah menetapkan project ID dan ID instance dalam file .cbtrc. Atau, Anda dapat menggunakan flag -project dan -instance untuk menetapkan nilai ini setiap kali Anda menjalankan perintah CLI cbt.

Membuat tabel

Saat membuat tabel, Anda tidak perlu menentukan grup kolom yang akan digunakan dalam tabel. Anda dapat menambahkan atau menghapus family kolom nanti.

Konsol

Untuk membuat tabel baru dalam instance:

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Masukkan ID tabel untuk tabel.

  5. Tambahkan grup kolom (opsional).

    Anda dapat menambahkan kolom sekarang atau nanti. Tabel harus memiliki minimal satu family kolom sebelum Anda dapat menulis data ke dalamnya. Tabel harus memiliki setidaknya satu keluarga kolom sebelum Anda dapat menulis data ke tabel tersebut atau membaca aliran perubahan dari tabel tersebut.

  6. Opsional: Aktifkan aliran perubahan untuk tabel. Sebelum mengaktifkan aliran perubahan, pastikan Anda memahami implikasinya, termasuk peningkatan biaya penyimpanan dan persyaratan penggunaan profil aplikasi. Untuk meninjau detail ini, lihat Ringkasan aliran perubahan.

    1. Pilih Aktifkan aliran perubahan.

    2. Di kolom Waktu habis masa berlaku, masukkan angka dari 1 hingga 7 untuk menentukan jumlah hari data stream perubahan harus dipertahankan.

    3. Klik Buat.

  7. Opsional: Jika Anda tidak ingin Bigtable membuat cadangan harian tabel, hapus centang pada kotak di samping Aktifkan cadangan otomatis. Untuk mengetahui informasi selengkapnya, lihat Menggunakan pencadangan otomatis.

  8. Klik Buat tabel.

gcloud

Untuk membuat tabel, jalankan perintah berikut. Lihat gcloud bigtable instances tables create untuk mengetahui daftar lengkap opsi.

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

Ganti kode berikut:

  • TABLE_ID: ID unik untuk tabel baru
  • INSTANCE_ID: ID instance
  • PROJECT_ID: project yang akan berisi tabel baru
  • COLUMN-FAMILIES: daftar nama family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.

Opsional:

  • Untuk melindungi tabel dari penghapusan, tambahkan perintah dengan --deletion-protection. Jika Anda tidak menerapkan setelan ini, tabel dapat dihapus. Anda juga dapat mengizinkan penghapusan tabel secara eksplisit dengan menambahkan --no-deletion-protection.

  • Untuk mengaktifkan aliran perubahan untuk tabel, tentukan periode retensi untuk data aliran perubahan. Sebelum mengaktifkan aliran perubahan, pastikan Anda memahami implikasinya, termasuk peningkatan biaya penyimpanan dan persyaratan penggunaan profil aplikasi. Untuk meninjau detail ini, lihat Ringkasan aliran perubahan.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Ganti RETENTION_PERIOD dengan jangka waktu Bigtable harus menyimpan data aliran perubahan untuk tabel. Waktu harus antara satu hingga tujuh hari. Unit yang dapat diterima adalah hari (d), jam (h), menit (m), dan detik (s). Contoh: 48h atau 6d

  • Untuk mengizinkan Bigtable membuat cadangan harian tabel Anda dan mempertahankan setiap cadangan selama periode retensi default tujuh hari, gunakan flag --enable-automated-backup saat Anda membuat tabel.

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

    Untuk mengonfigurasi periode retensi yang berbeda, gunakan flag --automated-backup-retention-period, bukan flag --enable-automated-backup, dan berikan nilai hingga 90 hari, yang dinyatakan sebagai angka dengan unit m, h, atau d (menit, jam, atau hari), seperti 15d untuk 15 hari.

cbt

Gunakan perintah berikut, dengan mengganti TABLE_NAME dengan nama tabel Anda. Anda tidak dapat menggunakan CLI cbt untuk membuat tabel dengan aliran perubahan yang diaktifkan.

cbt createtable TABLE_ID

Opsional: Untuk membuat keluarga kolom gabungan dalam tabel, tambahkan jenis agregasi ke nama keluarga kolom. Contoh berikut membuat grup kolom gabungan dengan kebijakan pengumpulan sampah never.

cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE

Ganti kode berikut:

  • TABLE_ID: ID unik untuk tabel baru
  • FAMILY_NAME: : daftar nama family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.
  • TYPE: jenis agregat. Harus berupa intsum, intmin, intmax, atau inthll.

Untuk opsi selengkapnya, lihat Membuat tabel di referensi CLI cbt.

Jika Anda tidak sengaja menghapus tabel, jangan mencoba membuat tabel yang dihapus secara manual. Gunakan perintah gcloud CLI bigtable instances tables undelete untuk memulihkan tabel.

Opsional: Memisahkan tabel berdasarkan row key

Untuk mengoptimalkan performa, Bigtable terus membagi tabel di beberapa node, mendistribusikan jumlah data yang disimpan di setiap node secara merata, dan menjaga agar baris yang sering diakses tersebar sejauh mungkin. Proses berkelanjutan ini otomatis.

Saat membuat tabel baru, Anda dapat menentukan pemisahan tabel awal. Bigtable membagi tabel pada kunci baris yang Anda berikan. Jika ruang kunci terlalu besar, Bigtable akan membagi tabel lebih lanjut. Pemisahan awal dipertahankan selama sekitar 24 jam setelah pembuatan tabel selesai. Anda dapat memberikan hingga 100 kunci baris tempat pemisahan awal harus terjadi.

Misalnya, Anda dapat menetapkan baris tertentu untuk membagi tabel terlebih dahulu jika Anda akan menulis banyak baris ke tabel.

Membagi tabel sebelum dibuat tidaklah penting, tetapi bermanfaat karena memberikan informasi Bigtable tentang kemungkinan lokasi beban dan jejak data saat tabel dibuat. Pra-pemisahan mencegah Bigtable memisahkan tabel dan menyeimbangkan ulang beban secara bersamaan saat data tiba.

Konsol

Anda tidak dapat memisahkan baris sebelumnya saat membuat tabel menggunakan konsolGoogle Cloud .

gcloud

Untuk memisahkan tabel menurut kunci baris, jalankan perintah berikut. Lihat gcloud bigtable instances tables create untuk mengetahui daftar lengkap opsi.

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

Ganti kode berikut:

  • TABLE_ID: ID unik untuk tabel baru
  • INSTANCE_ID: ID instance
  • PROJECT_ID: project yang akan berisi tabel baru
  • COLUMN-FAMILIES: daftar nama family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.
  • SPLITS: kunci baris tempat tabel harus dibagi pada awalnya—misalnya, 10,20.

cbt

Untuk memisahkan tabel sebelumnya berdasarkan kunci baris, gunakan sintaksis berikut untuk membuat tabel. Ganti [TABLE_NAME] dengan nama tabel dan [SPLITS] dengan daftar awalan kunci baris yang dipisahkan koma untuk digunakan pada pra-pemisahan.

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

Misalnya, untuk membagi tabel my-table sebelumnya pada kunci baris yang dimulai dengan 10 dan 20:

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

Mengubah grup kolom dalam tabel

Anda dapat menambahkan grup kolom dalam tabel yang ada. Jika tabel tidak mengaktifkan perlindungan penghapusan, Anda dapat menghapus keluarga kolom dalam tabel.

Menambahkan grup kolom

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik Edit untuk tabel yang ingin Anda ubah.

  5. Untuk setiap family kolom yang ingin Anda tambahkan, selesaikan langkah-langkah berikut:

    1. Klik Tambahkan family kolom.
    2. Berikan ID unik untuk grup kolom.
    3. Tetapkan kebijakan pengumpulan sampah untuk grup kolom.
    4. Klik Selesai.
    5. Klik Save.

gcloud

Anda tidak dapat menggunakan gcloud CLI untuk menambahkan family kolom ke tabel.

cbt

Untuk menambahkan grup kolom ke tabel, gunakan perintah berikut:

cbt createfamily TABLE_ID FAMILY_NAME

Misalnya, untuk menambahkan grup kolom cf1 dan cf2 ke tabel my-table:

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

Opsional: Untuk menambahkan kelompok kolom agregat ke tabel, tambahkan nama kelompok kolom dengan jenis agregasi. Contoh berikut membuat tabel yang memiliki grup kolom gabungan dengan kebijakan pengumpulan sampah never.

cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE

Ganti kode berikut:

  • TABLE_ID: ID tabel
  • FAMILY_NAME: : daftar nama family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.
  • TYPE: jenis agregasi. Harus berupa intsum, intmin, intmax, atau inthll.

Menghapus family kolom

Anda dapat menghapus kolom keluarga dalam tabel yang tidak mengaktifkan perlindungan penghapusan.

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik Edit untuk tabel yang ingin Anda ubah.

  5. Untuk setiap grup kolom yang ingin Anda hapus, selesaikan langkah-langkah berikut:

    1. Arahkan kursor ke baris untuk column family yang ingin Anda hapus.
    2. Klik .
  6. Klik Simpan.

  7. Untuk mengonfirmasi bahwa Anda memahami bahwa penghapusan grup kolom bersifat permanen dan semua data dalam grup kolom akan dihapus, ketik "Hapus grup kolom" di kolom teks.

  8. Klik Konfirmasi.

gcloud

Anda tidak dapat menggunakan gcloud CLI untuk menghapus family kolom dari tabel.

cbt

Untuk menghapus grup kolom dari tabel, gunakan perintah berikut, dengan mengganti [TABLE_NAME] dengan nama tabel dan [FAMILY_NAME] dengan nama grup kolom:

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Misalnya, untuk menghapus family kolom cf2 dari tabel my-table:

cbt deletefamily my-table cf2

Melihat daftar tabel

Konsol

Untuk melihat daftar tabel dalam instance:

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

    • Klik panah di samping ID tabel untuk meluaskan daftar replikasi tabel.
    • Klik Lihat Metrik di samping nama tabel untuk melihat data insight sistem untuk tabel tersebut.

gcloud

Untuk melihat daftar tabel, jalankan perintah gcloud bigtable instances tables list.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Ganti kode berikut:

  • INSTANCE_IDS: daftar ID instance yang dipisahkan koma.

cbt

Untuk melihat daftar tabel dalam instance, jalankan perintah berikut:

    cbt ls INSTANCE_ID

Ganti kode berikut:

  • INSTANCE_ID: ID permanen untuk instance.

C++

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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#

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

PHP

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat library klien Bigtable.

Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Melihat informasi tentang tabel

Konsol

Untuk melihat informasi tentang tabel:

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance. Untuk setiap tabel, konsol menampilkan jumlah cluster tempat tabel disimpan, status tabel, penggunaan penyimpanan, dan ID untuk setiap cadangan tabel saat ini. Google Cloud

  4. Untuk melihat nama family kolom untuk tabel, klik . Untuk menutup panel Edit tabel, klik Batal.

  5. Untuk melihat detail tambahan tentang tabel, termasuk metrik tingkat tabel dan status replikasi, klik nama tabel.

gcloud

Untuk melihat informasi tentang tabel, jalankan perintah gcloud bigtable instances tables describe.

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

Ganti kode berikut:

  • TABLE_ID: ID unik tabel
  • INSTANCE_ID: ID instance

cbt

Anda dapat menggunakan CLI cbt untuk mendapatkan daftar column family yang ada dalam tabel.

Gunakan perintah berikut, dengan mengganti [TABLE_NAME] dengan nama tabel:

cbt ls [TABLE_NAME]

Menetapkan kebijakan pembersihan sampah memori

Kebijakan pengumpulan sampah memberi tahu Bigtable data mana yang harus disimpan dan data mana yang harus ditandai untuk dihapus. Kebijakan pengumpulan sampah ditetapkan di tingkat grup kolom. Anda dapat menyetelnya saat membuat tabel atau nanti.

Saat membuat grup kolom, Anda dapat menentukan jumlah sel yang ingin dipertahankan di setiap kolom dalam grup kolom tersebut. Jika Anda tidak menentukan setelan ini, Bigtable akan menggunakan salah satu setelan default berikut:

  • Jika Anda membuat grup kolom dengan klien HBase Cloud Bigtable untuk Java atau shell HBase, atau alat lain yang menggunakan klien HBase untuk Java, Bigtable hanya menyimpan 1 sel untuk setiap persimpangan baris/kolom dalam grup kolom. Setelan default ini konsisten dengan HBase.

  • Jika Anda membuat column family menggunakan konsol Google Cloud , library klien lain, atau cbtCLI , Bigtable akan mempertahankan jumlah sel yang tidak terbatas di setiap kolom.

Lihat Mengonfigurasi kebijakan pengumpulan sampah untuk mengetahui petunjuk mendetail tentang cara melihat, menetapkan, dan memperbarui kebijakan pengumpulan sampah.

Mencadangkan dan memulihkan tabel

Untuk mengetahui petunjuk tentang cara mencadangkan tabel dan memulihkan dari cadangan ke tabel baru, lihat Mengelola cadangan.

Jika Anda telah mengaktifkan pencadangan otomatis saat membuat tabel, Anda dapat mengubah konfigurasi pencadangan otomatis untuk tabel guna mengaktifkan atau menonaktifkan pencadangan otomatis, atau mengubah periode retensi hingga 90 hari sejak waktu pembuatan cadangan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan pencadangan otomatis.

Mengaktifkan, menonaktifkan, atau mengonfigurasi aliran perubahan

Untuk mengetahui petunjuk tentang tugas berikut, lihat Mengonfigurasi aliran perubahan.

  • Mengaktifkan aliran perubahan pada tabel yang ada
  • Menonaktifkan aliran data perubahan
  • Memperbarui periode retensi untuk aliran perubahan

Menghapus tabel

Menghapus tabel juga akan menghapus semua tampilan yang diotorisasi dari tabel tersebut. Jika ada tampilan resmi tabel yang mengaktifkan perlindungan penghapusan, Anda tidak dapat menghapus tabel. Anda juga tidak dapat menghapus tabel yang memiliki tampilan terwujud berkelanjutan berdasarkan tabel tersebut.

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik untuk tabel yang ingin Anda hapus.

  5. Klik Hapus.

  6. Untuk mengonfirmasi bahwa Anda memahami bahwa tindakan ini akan menghapus tabel dari semua cluster di instance dan Anda hanya memiliki tujuh hari untuk mengurungkan penghapusan tabel, ketik ID tabel di kotak Hapus tabel.

  7. Klik Hapus.

gcloud

  1. Untuk menghapus tabel, jalankan perintah gcloud bigtable instances tables delete.

    gcloud bigtable instances tables delete TABLE_ID --instance=INSTANCE_ID
    

    Ganti kode berikut:

    • TABLE_ID: ID unik tabel
    • INSTANCE_ID: ID instance
  2. Di terminal, masukkan y untuk mengonfirmasi penghapusan tabel.

cbt

Untuk menghapus tabel, gunakan perintah berikut, dengan mengganti [TABLE_NAME] dengan nama tabel:

cbt deletetable [TABLE_NAME]

Membatalkan penghapusan tabel

Jika tidak sengaja menghapus tabel, Anda dapat menggunakan perintah gcloud CLI bigtable instances tables undelete untuk membatalkan penghapusan, atau memulihkan, tabel. Jangan mencoba membuat ulang tabel yang dihapus secara manual.

Untuk membatalkan penghapusan tabel, jalankan perintah berikut di terminal:

gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID

Ganti kode berikut:

  • TABLE_ID: ID unik untuk tabel
  • INSTANCE_ID: ID instance

Saat Anda mengurungkan penghapusan tabel, Bigtable akan mengaktifkan perlindungan penghapusan untuk tabel secara otomatis.

Batasan berikut berlaku:

  • Kemampuan untuk membatalkan penghapusan tabel tersedia selama sekitar tujuh hari sejak waktu penghapusan tabel.
  • Anda tidak dapat membatalkan penghapusan tabel menggunakan konsol Google Cloud , library klien Cloud Bigtable, atau CLI cbt .
  • Anda tidak dapat membatalkan penghapusan tabel dari instance yang dihapus.
  • Anda tidak dapat membatalkan penghapusan tabel yang mengaktifkan CMEK.
  • Saat Anda mengurungkan penghapusan tabel, Bigtable tidak memulihkan binding kebijakan IAM mendetail ke tabel yang dihapus.

Anda dapat secara opsional memeriksa status operasi undelete di log audit.

Mengubah perlindungan penghapusan

Anda dapat mengaktifkan atau menonaktifkan perlindungan penghapusan untuk tabel jika Anda adalah akun utama dalam peran yang mencakup izin bigtable.tables.update, seperti roles/bigtable.admin. Perlindungan penghapusan mencegah penghapusan tabel, semua grup kolom dalam tabel, dan instance yang berisi tabel.

Mengaktifkan perlindungan penghapusan untuk tabel tidak akan mengaktifkannya untuk tampilan yang diotorisasi dari tabel tersebut. Demikian pula, menonaktifkan perlindungan penghapusan tabel tidak akan menonaktifkannya untuk tampilan yang diotorisasi dari tabel. Anda harus memperbarui tabel virtual yang diizinkan untuk tabel secara terpisah.

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik di samping ID tabel.

  5. Untuk mengaktifkan perlindungan penghapusan, klik Cegah penghapusan. Untuk menonaktifkan perlindungan penghapusan, klik Aktifkan penghapusan. Hanya opsi yang valid yang terlihat.

gcloud

Untuk mengaktifkan perlindungan penghapusan untuk tabel, jalankan perintah gcloud bigtable instances table update:

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

Untuk menonaktifkan perlindungan penghapusan tabel, jalankan perintah berikut:

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

Ganti kode berikut:

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

cbt

Anda tidak dapat menggunakan cbt CLI untuk mengaktifkan atau menonaktifkan perlindungan penghapusan.

Langkah berikutnya