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.
Peran yang telah ditentukan 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
Di Konsol Google Cloud, pilih set data.
Di halaman detail set data, klik ikon pensil di sebelah kanan Label.
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
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA mydataset SET OPTIONS ( labels = [('sensitivity', 'high')]);
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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.
Peran bawaan ini berisi izin yang diperlukan untuk menambahkan label ke tabel atau tampilan yang sudah ada. Untuk melihat izin pasti yang 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
Di konsol Google Cloud, pilih tabel atau tampilan.
Klik tab Detail.
Klik ikon pensil di sebelah kanan Label.
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
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER TABLE mydataset.mytable SET OPTIONS ( labels = [('department', 'shipping'), ('cost_center', 'logistics')]);
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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.
Peran yang telah ditentukan 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. 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
Di konsol Google Cloud, pilih resource yang sesuai (set data, tabel, atau tampilan).
Untuk set data, halaman detail set data akan terbuka otomatis. Untuk tabel dan tampilan, klik Details untuk membuka halaman detail.
Pada halaman detail, klik ikon pensil di sebelah kanan Label.
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
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER TABLE mydataset.mytable SET OPTIONS ( labels=[("key1", ""), ("key2", "")]);
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 selanjutnya
- Pelajari cara melihat label pada resource BigQuery.
- Pelajari cara memperbarui label pada resource BigQuery.
- Pelajari cara memfilter resource menggunakan label.
- Pelajari cara menghapus label di resource BigQuery.
- Baca tentang Menggunakan label di dokumentasi Resource Manager.