Melihat metadata snapshot tabel

Dokumen ini menjelaskan cara melihat metadata untuk snapshot tabel BigQuery di konsol Google Cloud, dengan membuat kueri tampilan TABLE_SNAPSHOTS dari tabel INFORMATION_SCHEMA, dengan menggunakan perintah bq show, atau dengan memanggil tables.get API. Opsi ini ditujukan bagi pengguna yang sudah memahami tabel BigQuery dan snapshot tabel.

Izin dan peran

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

Izin

Untuk melihat metadata snapshot tabel, Anda memerlukan izin berikut:

Izin Resource
bigquery.tables.get 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.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Snapshot tabel

Mendapatkan metadata snapshot tabel

Metadata untuk snapshot tabel mirip dengan metadata untuk tabel standar, dengan perbedaan berikut:

  • Kolom baseTableReference tambahan mengidentifikasi tabel dasar tempat snapshot diambil.
  • Kolom type memiliki nilai SNAPSHOT.

Anda dapat melihat metadata untuk snapshot tabel menggunakan salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel Explorer, luaskan node project dan set data dari snapshot tabel yang ingin Anda lihat.

  3. Klik nama snapshot tabel

  4. Pada panel snapshot yang muncul, Anda dapat melakukan hal berikut:

    • Klik tab Schema untuk melihat skema dan tag kebijakan snapshot tabel.

    • Klik tabel Details untuk melihat ukuran snapshot tabel, masa berlaku, tabel dasar, waktu snapshot, dan informasi lainnya.

SQL

Guna melihat metadata untuk snapshot tabel, buat kueri tampilan INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';

    Ganti kode berikut:

    • PROJECT_ID: project ID dari project yang berisi snapshot.
    • DATASET_NAME: nama set data yang berisi snapshot.
    • SNAPSHOT_NAME: nama snapshot.

  3. Klik Run.

Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.

bq

Masukkan perintah berikut di Cloud Shell:

Buka Cloud Shell

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Ganti kode berikut:

  • PROJECT_ID: project ID dari project yang berisi snapshot.
  • DATASET_NAME: nama set data yang berisi snapshot.
  • SNAPSHOT_NAME: nama snapshot.

Outputnya mirip dengan yang berikut ini:

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

Panggil metode tables.get dengan parameter berikut:

Parameter Nilai
projectId ID project untuk project yang berisi snapshot.
datasetId Nama set data yang berisi snapshot
tableId Nama snapshot.

Isi respons mirip dengan berikut ini:

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

Langkah berikutnya