Memperbarui metadata snapshot tabel

Dokumen ini menjelaskan cara memperbarui deskripsi, tanggal habis masa berlaku, atau kebijakan akses untuk snapshot tabel menggunakan Google Cloud konsol, perintah bq update, atau API tables.patch. Panduan ini ditujukan bagi pengguna yang sudah memahami tabel dan snapshot tabel di BigQuery.

Izin dan peran

Bagian ini menjelaskan izin Identity and Access Management (IAM) yang Anda perlukan untuk memperbarui metadata untuk snapshot tabel, dan peran IAM bawaan yang memberikan izin tersebut.

Izin

Untuk memperbarui metadata snapshot tabel, Anda memerlukan izin berikut:

Izin Resource
bigquery.tables.update Snapshot tabel

Peran

Peran BigQuery yang telah ditetapkan dan memberikan izin yang diperlukan adalah sebagai berikut:

Role Resource
Mana pun dari yang berikut ini:

bigquery.dataEditor
bigquery.dataOwner
biguqery.admin
Snapshot tabel

Batasan

Anda dapat memperbarui metadata snapshot tabel, tetapi tidak dapat memperbarui datanya karena data snapshot tabel bersifat hanya baca. Untuk memperbarui data snapshot tabel, Anda harus memulihkan snapshot tabel ke tabel standar terlebih dahulu, lalu memperbarui data tabel standar. Untuk mengetahui informasi selengkapnya, lihat Memulihkan snapshot tabel.

Memperbarui metadata snapshot tabel

Anda dapat mengubah deskripsi, masa berlaku, dan kebijakan akses snapshot tabel dengan cara yang sama seperti mengubah metadata tabel standar. Beberapa contohnya disediakan di bagian berikut.

Memperbarui deskripsi

Anda dapat mengubah deskripsi untuk snapshot tabel menggunakan salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Explorer:

    Tombol yang ditandai untuk panel Explorer.

    Jika Anda tidak melihat panel kiri, klik Luaskan panel kiri untuk membuka panel.

  3. Di panel Explorer, luaskan project Anda, klik Datasets, dan lalu klik set data yang memiliki snapshot tabel.

  4. Klik Overview > Tables, lalu klik nama snapshot tabel yang ingin Anda perbarui.

  5. Buka tab Details, lalu klik Edit Details.

  6. Di kolom Description, tambahkan atau perbarui deskripsi untuk snapshot tabel.

  7. Klik Simpan.

bq

Masukkan perintah berikut di Cloud Shell:

Buka Cloud Shell

bq update \
--description="DESCRIPTION" \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Ganti kode berikut:

  • DESCRIPTION: teks yang menjelaskan snapshot. Contoh, Snapshot after table schema change X..
  • PROJECT_ID: project ID dari project yang berisi snapshot.
  • DATASET_NAME: nama set data yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

API

Panggil metode tables.patch dengan parameter berikut:

Parameter Nilai
projectId ID project untuk project yang berisi snapshot.
datasetId Nama set data yang berisi snapshot
tableId Nama snapshot.
Kolom description isi permintaan Teks yang menjelaskan snapshot. Misalnya, Snapshot after table schema change X.

Sebaiknya gunakan metode tables.patch daripada metode tables.update karena metode tables.update menggantikan seluruh resource Table.

Memperbarui akhir masa berlaku

Anda dapat mengubah akhir masa berlaku snapshot tabel menggunakan salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Explorer:

    Tombol yang ditandai untuk panel Explorer.

  3. Di panel Explorer, luaskan project Anda, klik Datasets, dan lalu klik set data yang memiliki snapshot tabel.

  4. Klik Overview > Tables, lalu klik nama snapshot tabel yang ingin Anda perbarui.

  5. Buka tab Details , lalu klik Edit Details.

  6. Di kolom Expiration time, masukkan waktu akhir masa berlaku yang baru untuk snapshot tabel.

  7. Klik Simpan.

bq

Masukkan perintah berikut di Cloud Shell:

Buka Cloud Shell

bq update \
--expiration=EXPIRATION_TIME \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Ganti kode berikut:

  • EXPIRATION_TIME: jumlah detik dari waktu saat ini hingga waktu akhir masa berlaku.
  • PROJECT_ID: project ID dari project yang berisi snapshot.
  • DATASET_NAME: nama set data yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

API

Panggil metode tables.patch dengan parameter berikut:

Parameter Nilai
projectId ID project untuk project yang berisi snapshot.
datasetId Nama set data yang berisi snapshot
tableId Nama snapshot.
Kolom expirationTime isi permintaan Waktu saat snapshot berakhir, dalam milidetik sejak epoch.

Sebaiknya gunakan metode tables.patch daripada metode tables.update karena metode tables.update menggantikan seluruh resource Table.

Memperbarui akses

Anda dapat memberi pengguna akses untuk melihat data dalam snapshot tabel dengan menggunakan salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Explorer:

    Tombol yang ditandai untuk panel Explorer.

  3. Di panel Explorer, luaskan project Anda, klik Datasets, dan lalu klik set data yang memiliki snapshot tabel.

  4. Klik Overview > Tables, lalu klik nama snapshot tabel yang ingin Anda bagikan.

  5. Di panel snapshot yang muncul, klik Share, lalu klik Add principal.

  6. Di panel Tambahkan akun utama yang muncul, masukkan ID akun utama yang ingin Anda berikan akses ke snapshot tabel.

  7. Di menu dropdown Pilih peran, pilih BigQuery, lalu BigQuery Data Viewer.

  8. Klik Simpan.

bq

Masukkan perintah berikut di Cloud Shell:

Buka Cloud Shell

bq add-iam-policy-binding \
    --member="user:PRINCIPAL" \
    --role="roles/bigquery.dataViewer" \
    PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Ganti kode berikut:

  • PRINCIPAL: akun utama yang ingin Anda berikan akses ke snapshot tabel.
  • PROJECT_ID: project ID dari project yang berisi snapshot.
  • DATASET_NAME: nama set data yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

API

Panggil metode tables.setIamPolicy dengan parameter berikut:

Parameter Nilai
Resource
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME
Isi permintaan
{
      "policy": {
        "bindings": [
          {
            "members": [
              "user:PRINCIPAL"
            ],
            "role": "roles/bigquery.dataViewer"
          }
        ]
      }
    }

Ganti kode berikut:

  • PROJECT_ID: project ID dari project yang berisi snapshot.
  • DATASET_NAME: nama set data yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.
  • PRINCIPAL: akun utama yang ingin Anda berikan akses ke snapshot tabel.

Langkah berikutnya