Menambahkan label ke resource

Halaman ini menjelaskan cara memberi label pada resource BigQuery.

Sebelum memulai

Memberikan peran Identity and Access Management (IAM) yang memberi izin yang diperlukan kepada pengguna untuk melakukan setiap tugas dalam dokumen ini. Izin apa pun yang diperlukan untuk melakukan tugas tercantum di bagian "Peran IAM yang diperlukan" pada tugas tersebut.

Menambahkan label ke set data

Label dapat ditambahkan ke set data BigQuery ketika dibuat dengan menggunakan perintah bq mk alat command line bq atau dengan memanggil metode datasets.insert API. Saat ini, Anda tidak dapat menambahkan label ke set data ketika dibuat menggunakan konsol Google Cloud.

Halaman ini membahas cara menambahkan label ke set data setelah dibuat. Untuk mengetahui informasi selengkapnya tentang menambahkan label saat Anda membuat set data, baca Membuat set data.

Label dapat ditambahkan setelah set data dibuat oleh:

  • Menggunakan konsol Google Cloud
  • Menggunakan pernyataan DDL SQL
  • Menggunakan perintah bq update alat command line bq
  • Memanggil metode API datasets.patch
  • Menggunakan library klien

Ketika Anda menambahkan label ke set data, label tidak akan disebarkan ke resource dalam set data. Label set data tidak diwarisi oleh tabel atau tampilan. Selain itu, jika Anda menambahkan label ke set data, label akan disertakan dalam data penagihan penyimpanan, tetapi tidak dalam data penagihan terkait tugas.

Untuk detail selengkapnya tentang format label, lihat Persyaratan untuk label.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menambahkan label ke set data yang ada, minta administrator untuk memberi Anda peran IAM BigQuery Data Editor (roles/bigquery.dataEditor). Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin bigquery.datasets.update, yang diperlukan untuk menambahkan label ke set data yang sudah ada.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin bawaan.

Menambahkan label ke set data

Untuk menambahkan label ke set data setelah dibuat:

Konsol

  1. Di Konsol Google Cloud, pilih set data.

  2. Di halaman detail set data, klik ikon pensil di sebelah kanan Label.

    Pensil label.

  3. Pada dialog Edit label:

    • Klik Tambahkan label
    • Masukkan kunci dan nilai. Untuk menerapkan label tambahan, klik Tambahkan label. Setiap kunci hanya dapat digunakan sekali per set data, tetapi Anda dapat menggunakan kunci yang sama dalam set data berbeda dalam project yang sama.
    • Untuk memperbarui label, ubah kunci atau nilai yang ada.
    • Untuk menyimpan perubahan, klik Perbarui.

SQL

Gunakan pernyataan DDL ALTER SCHEMA SET OPTIONS untuk menetapkan label pada set data yang ada. Menetapkan label akan menimpa label yang ada di set data. Contoh berikut menetapkan label pada set data mydataset:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    ALTER SCHEMA mydataset
    SET OPTIONS (
      labels = [('sensitivity', 'high')]);

  3. Klik Run.

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

bq

Untuk menambahkan label ke set data yang sudah ada, berikan perintah bq update dengan flag set_label. Ulangi flag tersebut untuk menambahkan beberapa label.

Jika set data berada dalam project selain project default Anda, tambahkan project ID ke set data dalam format berikut: PROJECT_ID:DATASET.

bq update --set_label KEY:VALUE PROJECT_ID:DATASET

Ganti kode berikut:

  • KEY:VALUE: key-value pair untuk label yang ingin Anda tambahkan. Kunci harus unik. Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung. Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional boleh digunakan.
  • PROJECT_ID: project ID Anda.
  • DATASET: set data yang Anda beri label.

Contoh:

Untuk menambahkan label guna melacak departemen, masukkan perintah bq update dan tentukan department sebagai kunci label. Misalnya, untuk menambahkan label department:shipping ke mydataset di project default Anda, masukkan:

    bq update --set_label department:shipping mydataset

Untuk menambahkan beberapa label ke set data, ulangi flag set_label dan tentukan kunci unik untuk setiap label. Misalnya, untuk menambahkan label department:shipping dan label cost_center:logistics ke mydataset di project default Anda, masukkan:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset

API

Untuk menambahkan label ke set data yang sudah ada, panggil metode datasets.patch dan isi properti labels untuk resource set data.

Karena metode datasets.update menggantikan seluruh resource set data, sebaiknya gunakan metode datasets.patch.

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// addDatasetLabel demonstrates adding label metadata to an existing dataset.
func addDatasetLabel(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}

	update := bigquery.DatasetMetadataToUpdate{}
	update.SetLabel("color", "green")
	if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Contoh ini menggunakan Library Klien HTTP Google untuk Java untuk mengirim permintaan ke BigQuery API.

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import java.util.HashMap;
import java.util.Map;

// Sample to updates a label on dataset
public class LabelDataset {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    labelDataset(datasetName);
  }

  public static void labelDataset(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // This example dataset starts with existing label { color: 'green' }
      Dataset dataset = bigquery.getDataset(datasetName);
      // Add label to dataset
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      dataset.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \n" + e.toString());
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function labelDataset() {
  // Updates a label on a dataset.

  /**
   * TODO(developer): Uncomment the following lines before running the sample
   */
  // const datasetId = "my_dataset";

  // Retrieve current dataset metadata.
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();

  // Add label to dataset metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await dataset.setMetadata(metadata);

  console.log(`${datasetId} labels:`);
  console.log(apiResponse.labels);
}

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = "your-project.your_dataset"

dataset = client.get_dataset(dataset_id)  # Make an API request.
dataset.labels = {"color": "green"}
dataset = client.update_dataset(dataset, ["labels"])  # Make an API request.

print("Labels added to {}".format(dataset_id))

Menambahkan label ke tabel dan tampilan

Label dapat ditambahkan ke tabel atau tampilan saat dibuat dengan:

  • Menggunakan perintah bq mk alat command line bq
  • Memanggil metode API tables.insert

Halaman ini membahas cara menambahkan label ke tabel atau tampilan yang sudah ada. Untuk informasi selengkapnya tentang menambahkan label saat Anda membuat tabel atau tampilan, lihat Membuat tabel atau Membuat tampilan.

Label dapat ditambahkan setelah tabel atau tampilan dibuat dengan:

  • Menggunakan konsol Google Cloud
  • Menggunakan perintah bq update alat command line bq
  • Memanggil metode API tables.patch
  • Menggunakan library klien

Karena tampilan diperlakukan seperti resource tabel, Anda harus menggunakan metode tables.patch untuk mengubah tampilan dan tabel.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menambahkan label ke tabel atau tampilan yang sudah ada, minta administrator untuk memberi Anda peran IAM BigQuery Data Editor (roles/bigquery.dataEditor). Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk menambahkan label ke tabel atau tampilan yang sudah ada. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menambahkan label ke tabel atau tampilan yang sudah ada:

  • bigquery.tables.update
  • bigquery.tables.get

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin bawaan.

Menambahkan label ke tabel atau tampilan

Untuk menambahkan label ke tabel atau tampilan yang sudah ada:

Konsol

  1. Di konsol Google Cloud, pilih tabel atau tampilan.

  2. Klik tab Detail.

    Detail tabel.

  3. Klik ikon pensil di sebelah kanan Label.

    Pensil label.

  4. Pada dialog Edit label:

    • Klik Tambahkan label
    • Masukkan kunci dan nilai untuk menambahkan label. Untuk menerapkan label tambahan, klik Tambahkan label. Setiap kunci hanya dapat digunakan satu kali per set data, tetapi Anda dapat menggunakan kunci yang sama dalam set data yang berbeda dalam project yang sama.
    • Ubah kunci atau nilai yang ada untuk memperbarui label.
    • Klik Update untuk menyimpan perubahan.

SQL

Gunakan Pernyataan DDL ALTER TABLE SET OPTIONS untuk menetapkan label di tabel yang sudah ada, atau Pernyataan DDL ALTER VIEW SET OPTIONS untuk menetapkan label pada tampilan yang sudah ada. Menetapkan label akan menimpa label yang ada di tabel atau tampilan. Contoh berikut menetapkan dua label pada tabel mytable:

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    ALTER TABLE mydataset.mytable
    SET OPTIONS (
      labels = [('department', 'shipping'), ('cost_center', 'logistics')]);

  3. Klik Run.

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

bq

Untuk menambahkan label ke tabel atau tampilan yang sudah ada, berikan perintah bq update dengan flag set_label. Untuk menambahkan beberapa label, ulangi flag tersebut.

Jika tabel atau tampilan berada dalam project selain project default Anda, tambahkan project ID ke set data dalam format berikut: project_id:dataset.

bq update \
--set_label KEY:VALUE \
PROJECT_ID:DATASET.TABLE_OR_VIEW

Ganti kode berikut:

  • KEY:VALUE: key-value pair untuk label yang ingin Anda tambahkan. Kunci harus unik. Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung. Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional boleh digunakan.
  • PROJECT_ID: project ID Anda.
  • DATASET: set data yang berisi tabel atau tampilan yang Anda beri label.
  • TABLE_OR_VIEW: nama tabel atau tampilan yang Anda beri label.

Contoh:

Untuk menambahkan label tabel yang melacak departemen, masukkan perintah bq update dan tentukan department sebagai kunci label. Misalnya, untuk menambahkan label department:shipping ke mytable di project default Anda, masukkan:

    bq update --set_label department:shipping mydataset.mytable

Untuk menambahkan label tampilan yang melacak departemen, masukkan perintah bq update dan tentukan department sebagai kunci label. Misalnya, untuk menambahkan label department:shipping ke myview di project default Anda, masukkan:

    bq update --set_label department:shipping mydataset.myview

Untuk menambahkan beberapa label ke tabel atau tampilan, ulangi flag set_label dan tentukan kunci unik untuk setiap label. Misalnya, untuk menambahkan label department:shipping dan label cost_center:logistics ke mytable dalam project default Anda, masukkan:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset.mytable

API

Untuk menambahkan label ke tabel atau tampilan yang sudah ada, panggil metode tables.patch dan isi properti labels untuk resource tabel.

Karena tampilan diperlakukan seperti resource tabel, Anda harus menggunakan metode tables.patch untuk mengubah tampilan dan tabel.

Karena metode tables.update menggantikan seluruh resource set data, sebaiknya gunakan metode tables.patch.

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// addTableLabel demonstrates adding Label metadata to a BigQuery table.
func addTableLabel(projectID, datasetID, tableID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	// tableID := "mytable"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	tbl := client.Dataset(datasetID).Table(tableID)
	meta, err := tbl.Metadata(ctx)
	if err != nil {
		return err
	}

	update := bigquery.TableMetadataToUpdate{}
	update.SetLabel("color", "green")
	if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Contoh ini menggunakan Library Klien HTTP Google untuk Java untuk mengirim permintaan ke BigQuery API.

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Table;
import com.google.cloud.bigquery.TableId;
import java.util.HashMap;
import java.util.Map;

// Sample to adds a label to an existing table
public class LabelTable {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String tableName = "MY_TABLE_NAME";
    labelTable(datasetName, tableName);
  }

  public static void labelTable(String datasetName, String tableName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // This example table starts with existing label { color: 'green' }
      Table table = bigquery.getTable(TableId.of(datasetName, tableName));
      // Add label to table
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      table.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \n" + e.toString());
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function labelTable() {
  // Adds a label to an existing table.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = 'my_dataset';
  // const tableId = 'my_table';

  const dataset = bigquery.dataset(datasetId);
  const [table] = await dataset.table(tableId).get();

  // Retrieve current table metadata
  const [metadata] = await table.getMetadata();

  // Add label to table metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await table.setMetadata(metadata);

  console.log(`${tableId} labels:`);
  console.log(apiResponse.labels);
}

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

from google.cloud import bigquery

client = bigquery.Client()

# TODO(dev): Change table_id to the full name of the table you want to create.
table_id = "your-project.your_dataset.your_table_name"

table = client.get_table(table_id)  # API request

labels = {"color": "green"}
table.labels = labels

table = client.update_table(table, ["labels"])  # API request

print(f"Added {table.labels} to {table_id}.")

Menambahkan label ke tugas

Label dapat ditambahkan ke tugas kueri melalui command line menggunakan flag --label pada alat command line bq. Alat bq mendukung penambahan label hanya ke tugas kueri.

Anda juga dapat menambahkan label ke tugas saat dikirim melalui API dengan menentukan properti labels dalam konfigurasi tugas saat Anda memanggil metode jobs.insert. API ini dapat digunakan untuk menambahkan label ke jenis tugas apa pun.

Anda tidak dapat menambahkan label ke atau memperbarui label pada tugas yang tertunda, sedang berjalan, atau telah selesai.

Saat Anda menambahkan label ke pekerjaan, label tersebut akan disertakan dalam data penagihan Anda.

Peran IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menambahkan label ke tugas, minta administrator untuk memberi Anda peran IAM BigQuery User (roles/bigquery.user). Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin bigquery.jobs.create, yang diperlukan untuk menambahkan label ke tugas.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin bawaan.

Menambahkan label ke tugas

Untuk menambahkan label ke pekerjaan:

bq

Untuk menambahkan label ke tugas kueri, berikan perintah bq query dengan flag --label. Untuk menambahkan beberapa label, ulangi flag tersebut. Flag --nouse_legacy_sql menunjukkan bahwa kueri Anda berada dalam sintaksis GoogleSQL.

bq query --label KEY:VALUE --nouse_legacy_sql 'QUERY'

Ganti kode berikut:

  • KEY:VALUE: key-value pair untuk label yang ingin Anda tambahkan ke tugas kueri. Kunci harus unik. Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung. Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional boleh digunakan. Untuk menambahkan beberapa label ke tugas kueri, ulangi flag --label dan tentukan kunci unik untuk setiap label.
  • QUERY: kueri GoogleSQL yang valid.

Contoh:

Untuk menambahkan label ke tugas kueri, masukkan:

    bq query \
    --label department:shipping \
    --nouse_legacy_sql \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

Untuk menambahkan beberapa label ke tugas kueri, ulangi flag --label dan tentukan kunci unik untuk setiap label. Misalnya, untuk menambahkan label department:shipping dan label cost_center:logistics ke tugas kueri, masukkan:

    bq query \
    --label department:shipping \
    --label cost_center:logistics \
    --nouse_legacy_sql \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

API

Untuk menambahkan label ke tugas, panggil metode jobs.insert dan isi properti labels untuk konfigurasi tugas. Anda dapat menggunakan API ini untuk menambahkan label ke jenis tugas apa pun.

Mengaitkan pekerjaan dalam sebuah sesi dengan label

Jika menjalankan kueri dalam sesi, Anda dapat menetapkan label ke semua tugas kueri mendatang dalam sesi tersebut menggunakan kueri multi-pernyataan BigQuery.

SQL

Tetapkan variabel sistem @@query_label dalam sesi dengan menjalankan kueri ini:

  SET @@query_label = "KEY:VALUE";
  

  • KEY:VALUE: key-value pair untuk label yang akan ditetapkan ke semua kueri mendatang dalam sesi tersebut. Anda juga dapat menambahkan beberapa pasangan nilai kunci, yang dipisahkan oleh koma (misalnya, SET @@query_label = "key1:value1,key2:value2"). Kunci harus unik. Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung. Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional boleh digunakan.

Contoh:

  SET @@query_label = "cost_center:logistics";
  

API

Untuk menambahkan label ke tugas kueri dalam sesi saat Anda menjalankan kueri menggunakan panggilan API, panggil metode jobs.insert dan isi properti query_label untuk konfigurasi tugas connectionProperties.

Setelah mengaitkan label kueri dengan sesi dan menjalankan kueri di dalam sesi, Anda dapat mengumpulkan log audit untuk kueri dengan label kueri tersebut. Untuk mengetahui informasi selengkapnya, lihat Referensi log audit untuk BigQuery.

Menambahkan label tanpa nilai

Label yang memiliki kunci dengan nilai kosong terkadang disebut tag. Jangan sampai tertukar dengan resource tag. Untuk informasi selengkapnya, lihat label dan tag. Anda dapat membuat label baru tanpa nilai, atau Anda dapat menghapus nilai dari kunci label yang sudah ada.

Label tanpa nilai dapat berguna dalam situasi saat Anda memberi label pada resource, tetapi Anda tidak memerlukan format nilai kunci. Misalnya, jika tabel berisi data pengujian yang digunakan oleh beberapa grup, seperti dukungan atau pengembangan, Anda dapat menambahkan label test_data ke tabel untuk mengidentifikasinya.

Untuk menambahkan label tanpa nilai:

Konsol

  1. Di konsol Google Cloud, pilih resource yang sesuai (set data, tabel, atau tampilan).

  2. Untuk set data, halaman detail set data akan terbuka otomatis. Untuk tabel dan tampilan, klik Details untuk membuka halaman detail.

    Detail tabel.

  3. Pada halaman detail, klik ikon pensil di sebelah kanan Label.

    Pensil label.

  4. Pada dialog Edit label:

    • Klik Tambahkan label.
    • Masukkan kunci baru dan biarkan nilainya kosong. Untuk menerapkan label tambahan, klik Tambahkan label dan ulangi.
    • Untuk menyimpan perubahan, klik Perbarui.

SQL

Untuk menambahkan label tanpa nilai, gunakan pernyataan DDL ALTER TABLE SET OPTIONS:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

    ALTER TABLE mydataset.mytable
    SET OPTIONS (
      labels=[("key1", ""), ("key2", "")]);

  3. Klik Run.

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

bq

Untuk menambahkan label tanpa nilai ke resource yang sudah ada, gunakan perintah bq update dengan flag set_label. Tentukan kunci, diikuti dengan titik dua, tetapi biarkan nilainya tidak ditentukan.

bq update --set_label KEY: RESOURCE_ID

Ganti kode berikut:

  • KEY:: kunci label yang ingin digunakan.
  • RESOURCE_ID: set data, tabel, atau nama tampilan yang valid. Jika resource berada dalam project selain project default Anda, tambahkan project ID dalam format berikut: PROJECT_ID:DATASET.

Contoh:

Masukkan perintah berikut guna membuat label test_data untuk mydataset.mytable. mydataset ada dalam project default Anda.

bq update --set_label test_data: mydataset

API

Panggil metode datasets.patch atau metode tables.patch dan tambahkan label dengan nilai yang ditetapkan ke string kosong ("" ) di resource set data atau resource tabel. Anda dapat menghapus nilai dari label yang sudah ada dengan mengganti nilainya dengan string kosong.

Karena tampilan diperlakukan seperti resource tabel, Anda harus menggunakan metode tables.patch untuk mengubah tampilan dan tabel. Selain itu, karena metode tables.update menggantikan seluruh resource set data, sebaiknya gunakan metode tables.patch.

Langkah berikutnya