Memperbarui properti set data
Dokumen ini menjelaskan cara memperbarui properti set data di BigQuery. Setelah membuat set data, Anda dapat memperbarui properti set data berikut:
- Kontrol akses
- Model penagihan
- Waktu habis masa berlaku default untuk tabel baru
- Akhir masa berlaku partisi default untuk tabel berpartisi baru
- Mode pembulatan default untuk tabel baru
- Deskripsi
- Label
- Periode perjalanan waktu
Sebelum memulai
Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini.
Izin yang diperlukan
Untuk memperbarui properti set data, Anda memerlukan izin IAM berikut:
bigquery.datasets.update
bigquery.datasets.setIamPolicy
(hanya diperlukan saat memperbarui kontrol akses set data di Konsol Google Cloud)
Peran IAM roles/bigquery.dataOwner
yang telah ditetapkan mencakup
izin yang Anda perlukan untuk memperbarui properti set data.
Selain itu, jika memiliki izin bigquery.datasets.create
, Anda dapat
memperbarui properti set data yang Anda buat.
Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.
Memperbarui deskripsi set data
Anda dapat memperbarui deskripsi set data dengan cara berikut:
- Menggunakan konsol Google Cloud.
- Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
datasets.patch
. - Menggunakan library klien.
Untuk memperbarui deskripsi set data:
Konsol
Di panel Explorer, luaskan project Anda dan pilih set data.
Luaskan opsi
Tindakan dan klik Buka.Di panel Detail, klik
Edit detail untuk mengedit teks deskripsi.Pada dialog Edit detail yang muncul, lakukan tindakan berikut:
- Di kolom Deskripsi, masukkan deskripsi atau edit deskripsi yang ada.
- Untuk menyimpan teks deskripsi baru, klik Simpan.
SQL
Untuk memperbarui deskripsi set data, gunakan pernyataan ALTER SCHEMA SET OPTIONS
untuk menetapkan opsi description
.
Contoh berikut menetapkan deskripsi pada set data bernama mydataset
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA mydataset SET OPTIONS ( description = 'Description of mydataset');
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Jalankan perintah bq update
dengan flag --description
. Jika Anda memperbarui set data dalam project selain project default, tambahkan project ID ke nama set data dalam format berikut: project_id:dataset
.
bq update \ --description "string" \ project_id:dataset
Ganti kode berikut:
string
: teks yang mendeskripsikan set data, dalam tanda kutipproject_id
: project ID Andadataset
: nama set data yang Anda perbarui
Contoh:
Masukkan perintah berikut untuk mengubah deskripsi mydataset
menjadi "Deskripsi setdatasaya". mydataset
ada dalam project default Anda.
bq update --description "Description of mydataset" mydataset
Masukkan perintah berikut untuk mengubah deskripsi mydataset
menjadi "Deskripsi setdatasaya". Set data berada di myotherproject
, bukan
di project default Anda.
bq update \
--description "Description of mydataset" \
myotherproject:mydataset
API
Panggil datasets.patch
dan
perbarui properti description
di
resource set data.
Karena metode datasets.update
menggantikan seluruh resource set data,
metode datasets.patch
akan dipilih.
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.
Java
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.
Buat instance Dataset.Builder dari instance Dataset yang ada dengan metode Dataset.toBuilder(). Mengonfigurasi objek builder set data. Buat set data yang diperbarui dengan metode Dataset.Builder.build(), lalu panggil metode Dataset.update() untuk mengirim pembaruan ke API.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.
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.
Konfigurasikan properti Dataset.description dan panggil Client.update_dataset() untuk mengirim pembaruan ke API.Memperbarui waktu habis masa berlaku tabel default
Anda dapat mengupdate waktu habis masa berlaku tabel default set data dengan cara berikut:
- Menggunakan konsol Google Cloud.
- Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
datasets.patch
. - Menggunakan library klien.
Anda dapat menetapkan waktu habis masa berlaku tabel default di level set data, atau menetapkan waktu habis masa berlaku tabel saat tabel dibuat. Jika Anda menetapkan tanggal habis masa berlaku saat tabel dibuat, masa berlaku tabel default set data akan diabaikan. Jika Anda tidak menetapkan tanggal habis masa berlaku tabel default di level set data, dan Anda tidak menetapkan tanggal habis masa berlaku tabel saat tabel dibuat, tabel tidak akan pernah berakhir masa berlakunya dan Anda harus menghapus tabel tersebut secara manual. Ketika masa berlaku tabel berakhir, tabel itu akan dihapus bersama dengan semua data yang ada di dalamnya.
Saat Anda memperbarui setelan habis masa berlaku tabel default set data:
- Jika Anda mengubah nilai dari
Never
menjadi waktu habis masa berlaku yang ditentukan, setiap tabel yang sudah ada dalam set data tidak akan habis masa berlakunya kecuali jika waktu habis masa berlaku ditetapkan di tabel saat dibuat. - Jika Anda mengubah nilai masa berlaku tabel default, setiap tabel yang sudah ada akan habis masa berlakunya sesuai dengan setelan habis masa berlaku tabel yang asli. Setiap tabel baru yang dibuat dalam set data akan menerapkan setelan habis masa berlaku tabel baru, kecuali jika Anda menentukan tanggal lain untuk habisnya masa berlaku tabel pada tabel saat dibuat.
Nilai untuk akhir masa berlaku tabel default dinyatakan secara berbeda, bergantung pada tempat nilai tersebut ditetapkan. Gunakan metode yang memberikan level perincian yang sesuai:
- Di konsol Google Cloud, akhir masa berlaku dinyatakan dalam hari.
- Di alat command line bq, akhir masa berlaku dinyatakan dalam detik.
- Di API, akhir masa berlaku dinyatakan dalam milidetik.
Untuk memperbarui waktu habis masa berlaku default untuk set data:
Konsol
Di panel Explorer, luaskan project Anda dan pilih set data.
Luaskan opsi
Tindakan dan klik Buka.Di panel detail, klik ikon pensil di samping Info set data untuk mengedit masa berlaku.
Pada dialog Info set data, di bagian Masa berlaku tabel default, masukkan nilai untuk Jumlah hari setelah pembuatan tabel.
Klik Simpan.
SQL
Untuk mengupdate waktu habis masa berlaku tabel default, gunakan
pernyataan ALTER SCHEMA SET OPTIONS
untuk menetapkan opsi default_table_expiration_days
.
Contoh berikut mengupdate akhir masa berlaku tabel default untuk set data bernama mydataset
.
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA mydataset SET OPTIONS( default_table_expiration_days = 3.75);
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk mengupdate waktu habis masa berlaku default untuk tabel yang baru dibuat dalam set data, masukkan perintah bq update
dengan flag --default_table_expiration
.
Jika Anda memperbarui set data dalam project selain project default, tambahkan project ID ke nama set data dalam format berikut: project_id:dataset
.
bq update \ --default_table_expiration integer \ project_id:dataset
Ganti kode berikut:
integer
: masa aktif default, dalam detik, untuk tabel yang baru dibuat. Nilai minimum adalah 3.600 detik (satu jam). Waktu habis masa berlaku mengevaluasi waktu UTC saat ini ditambah nilai bilangan bulat. Tentukan0
untuk menghapus waktu habis masa berlaku yang ada. Setiap tabel yang dibuat dalam set data akan dihapusinteger
detik setelah waktu pembuatannya. Nilai ini diterapkan jika Anda tidak menetapkan waktu masa berlaku tabel saat tabel dibuat.project_id
: project ID Anda.dataset
: nama set data yang Anda perbarui.
Contoh:
Masukkan perintah berikut untuk menetapkan masa berlaku tabel default untuk tabel baru yang dibuat di mydataset
menjadi dua jam (7200 detik) dari waktu saat ini. Set data ada dalam project default Anda.
bq update --default_table_expiration 7200 mydataset
Masukkan perintah berikut untuk menetapkan masa berlaku tabel default untuk tabel baru yang dibuat di mydataset
menjadi dua jam (7200 detik) dari waktu saat ini. Set data ada di myotherproject
, bukan di project default Anda.
bq update --default_table_expiration 7200 myotherproject:mydataset
API
Panggil datasets.patch
dan
perbarui properti defaultTableExpirationMs
di
resource set data.
Masa berlaku dinyatakan dalam milidetik di API. Karena
metode datasets.update
menggantikan seluruh resource set data, metode datasets.patch
akan dipilih.
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.
Java
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.
Buat instance Dataset.Builder dari instance Dataset yang ada dengan metode Dataset.toBuilder(). Mengonfigurasi objek builder set data. Buat set data yang diperbarui dengan metode Dataset.Builder.build(), lalu panggil metode Dataset.update() untuk mengirim pembaruan ke API.Mengonfigurasi waktu habis masa berlaku default dengan metode Dataset.Builder.setDefaultTableLifetime().
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.
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.
Konfigurasikan properti Dataset.default_table_expiration_ms dan panggil Client.update_dataset() untuk mengirim pembaruan ke API.Mengupdate waktu habis masa berlaku partisi default
Anda dapat mengupdate waktu masa berlaku partisi default set data dengan cara berikut:
- Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
datasets.patch
. - Menggunakan library klien.
Menyetel atau mengupdate akhir masa berlaku partisi default set data saat ini tidak didukung oleh Konsol Google Cloud.
Anda dapat menetapkan waktu habis masa berlaku partisi default pada level set data yang memengaruhi semua tabel berpartisi yang baru dibuat, atau Anda dapat menetapkan waktu masa berlaku partisi untuk setiap tabel saat tabel berpartisi dibuat. Jika Anda menetapkan tanggal habis masa berlaku partisi default pada level set data, dan Anda menetapkan tanggal habis masa berlaku tabel default pada level set data, tabel berpartisi baru hanya akan memiliki masa berlaku partisi. Jika kedua opsi tersebut disetel, masa berlaku partisi default akan menggantikan habis masa berlaku tabel default.
Jika Anda menetapkan waktu habis masa berlaku partisi saat tabel berpartisi dibuat, nilai tersebut akan menggantikan akhir masa berlaku partisi default level set data jika ada.
Jika masa berlaku partisi default tidak ditetapkan pada level set data, dan masa berlaku partisi tidak ditetapkan saat tabel dibuat, partisi tidak akan pernah berakhir masa berlakunya dan Anda harus menghapus partisi secara manual.
Saat Anda menetapkan masa berlaku partisi default pada set data, masa berlaku tersebut akan berlaku untuk semua partisi di semua tabel berpartisi yang dibuat dalam set data. Jika Anda menetapkan masa berlaku partisi di tabel, masa berlaku akan berlaku untuk semua partisi yang dibuat dalam tabel yang ditentukan. Saat ini, Anda tidak dapat menerapkan waktu habis masa berlaku yang berbeda untuk partisi yang berbeda dalam tabel yang sama.
Saat Anda memperbarui setelan habis masa berlaku partisi default set data:
- Jika Anda mengubah nilainya dari
never
menjadi waktu habis masa berlaku yang ditentukan, setiap partisi yang sudah ada dalam tabel berpartisi dalam set data tidak akan berakhir kecuali jika waktu habis masa berlaku partisi ditetapkan di tabel saat{i> <i} 101}dibuat. - Jika Anda mengubah nilai untuk masa berlaku partisi default, setiap partisi dalam tabel berpartisi yang sudah ada akan berakhir masa berlakunya sesuai dengan tanggal habis masa berlaku partisi default yang asli. Setiap tabel berpartisi baru yang dibuat dalam set data akan menerapkan setelan habis masa berlaku partisi default baru, kecuali jika Anda menentukan masa berlaku partisi yang berbeda pada tabel saat dibuat.
Nilai untuk akhir masa berlaku partisi default dinyatakan secara berbeda, bergantung pada tempat nilai tersebut ditetapkan. Gunakan metode yang memberikan level perincian yang sesuai:
- Di alat command line bq, akhir masa berlaku dinyatakan dalam detik.
- Di API, akhir masa berlaku dinyatakan dalam milidetik.
Untuk mengupdate waktu habis masa berlaku partisi default untuk set data:
Konsol
Mengupdate masa berlaku partisi default set data saat ini tidak didukung oleh Konsol Google Cloud.
SQL
Untuk mengupdate waktu habis masa berlaku partisi default, gunakan
pernyataan ALTER SCHEMA SET OPTIONS
untuk menetapkan opsi default_partition_expiration_days
.
Contoh berikut memperbarui akhir masa berlaku partisi default untuk set data bernama mydataset
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA mydataset SET OPTIONS( default_partition_expiration_days = 3.75);
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk mengupdate waktu habis masa berlaku default untuk set data, masukkan perintah bq update
dengan flag --default_partition_expiration
. Jika Anda memperbarui set data dalam project selain project default, tambahkan project ID ke nama set data dalam format berikut: project_id:dataset
.
bq update \ --default_partition_expiration integer \ project_id:dataset
Ganti kode berikut:
integer
: masa aktif default, dalam detik, untuk partisi dalam tabel berpartisi yang baru dibuat. Flag ini tidak memiliki nilai minimum. Tentukan0
untuk menghapus waktu habis masa berlaku yang ada. Setiap partisi dalam tabel berpartisi yang baru dibuat akan dihapusinteger
detik setelah tanggal UTC partisi. Nilai ini diterapkan jika Anda tidak menetapkan akhir masa berlaku partisi pada tabel saat dibuat.project_id
: project ID Anda.dataset
: nama set data yang Anda perbarui.
Contoh:
Masukkan perintah berikut untuk menetapkan masa berlaku partisi default untuk tabel berpartisi baru yang dibuat dalam mydataset
menjadi 26 jam (93.600 detik).
Set data ada dalam project default Anda.
bq update --default_partition_expiration 93600 mydataset
Masukkan perintah berikut untuk menetapkan masa berlaku partisi default untuk tabel berpartisi baru yang dibuat dalam mydataset
menjadi 26 jam (93.600 detik).
Set data ada di myotherproject
, bukan di project default Anda.
bq update --default_partition_expiration 93600 myotherproject:mydataset
API
Panggil datasets.patch
dan
perbarui properti defaultPartitionExpirationMs
di
resource set data.
Akhir masa berlaku dinyatakan dalam milidetik. Karena metode datasets.update
menggantikan seluruh resource set data, metode datasets.patch
akan direkomendasikan.
Memperbarui mode pembulatan
Anda dapat memperbarui mode pembulatan default set data menggunakan pernyataan DDL ALTER SCHEMA SET OPTIONS
.
Contoh berikut mengupdate mode pembulatan default untuk mydataset
menjadi
ROUND_HALF_EVEN
.
ALTER SCHEMA mydataset SET OPTIONS ( default_rounding_mode = "ROUND_HALF_EVEN");
Tindakan ini menetapkan mode pembulatan default untuk tabel baru yang dibuat dalam set data. Perubahan ini tidak berdampak pada kolom baru yang ditambahkan ke tabel yang ada. Menetapkan mode pembulatan default pada tabel dalam set data akan mengganti opsi ini.
Memperbarui kontrol akses set data
Proses untuk memperbarui kontrol akses set data sangat mirip dengan proses menetapkan kontrol akses ke set data. Kontrol akses tidak dapat diterapkan selama pembuatan set data menggunakan Konsol Google Cloud atau alat command line bq. Anda harus membuat set data terlebih dahulu, lalu memperbarui kontrol akses set data. API memungkinkan Anda memperbarui kontrol akses set data dengan memanggil metode datasets.patch.
Saat memperbarui kontrol akses di set data, Anda dapat mengubah akses untuk entity berikut:
Akun utama IAM:
- Email Akun Google: Memberikan akses Akun Google perorangan ke set data.
- Google Grup: Memberikan akses ke set data kepada semua anggota grup Google.
- Domain Google Workspace: Memberikan akses ke set data kepada semua pengguna dan grup di domain Google.
- Akun layanan: Memberikan akses akun layanan ke set data.
- Siapa saja: Masukkan
allUsers
untuk memberikan akses ke masyarakat umum. - Semua Akun Google: Masukkan
allAuthenticatedUsers
untuk memberikan akses kepada pengguna yang sudah login ke Akun Google.
Jenis resource:
- Set data yang diizinkan: Memberikan akses set data yang diizinkan ke set data tersebut.
- Tampilan yang diberi otorisasi: Memberikan akses tampilan yang diotorisasi ke set data.
- Fungsi yang diotorisasi: Memberikan akses UDF atau fungsi tabel yang diotorisasi ke set data.
Untuk memperbarui kontrol akses pada set data:
Konsol
Di panel Explorer, luaskan project Anda dan pilih set data.
Luaskan opsi
Tindakan dan klik Buka.Klik Bagikan Set Data.
Dalam dialog Bagikan Set data, untuk menghapus entri yang ada, luaskan entri, lalu klik ikon hapus (tempat sampah).
Pada dialog Bagikan Set data, untuk menambahkan entri baru:
Masukkan entity di kotak Tambahkan akun utama.
Untuk Pilih peran, pilih peran IAM yang sesuai dari daftar. Untuk mengetahui informasi selengkapnya tentang izin yang ditetapkan ke setiap peran BigQuery yang telah ditetapkan, lihat halaman Peran dan izin yang telah ditetapkan.
Klik Tambahkan.
Untuk menambahkan tampilan yang diotorisasi, klik tab Tampilan yang diberi otorisasi, lalu masukkan project, set data, dan tampilan, lalu klik Tambahkan.
Setelah selesai menambahkan atau menghapus kontrol akses, klik Selesai.
bq
Tulis informasi set data yang ada (termasuk kontrol akses) ke file JSON menggunakan perintah
show
. Jika set data berada dalam project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut:project_id:dataset
.bq show \ --format=prettyjson \ project_id:dataset > path_to_file
Ganti kode berikut:
project_id
: project ID Anda.dataset
: nama set data Anda.path_to_file
: jalur ke file JSON di komputer lokal Anda.
Contoh:
Masukkan perintah berikut untuk menulis kontrol akses bagi
mydataset
ke file JSON.mydataset
berada di project default Anda.bq show --format=prettyjson mydataset > /tmp/mydataset.json
Masukkan perintah berikut untuk menulis kontrol akses bagi
mydataset
ke file JSON.mydataset
ada dimyotherproject
.bq show --format=prettyjson \ myotherproject:mydataset > /tmp/mydataset.json
Buat perubahan pada bagian
"access"
pada file JSON. Anda dapat menambahkan atau menghapus salah satu entrispecialGroup
:projectOwners
,projectWriters
,projectReaders
, danallAuthenticatedUsers
. Anda juga dapat menambahkan, menghapus, atau mengubah salah satu dari hal berikut:userByEmail
,groupByEmail
, dandomain
.Misalnya, bagian akses file JSON set data akan terlihat seperti berikut:
{ "access": [ { "role": "READER", "specialGroup": "projectReaders" }, { "role": "WRITER", "specialGroup": "projectWriters" }, { "role": "OWNER", "specialGroup": "projectOwners" } { "role": "READER", "specialGroup": "allAuthenticatedUsers" } { "role": "READER", "domain": "[DOMAIN_NAME]" } { "role": "WRITER", "userByEmail": "[USER_EMAIL]" } { "role": "READER", "groupByEmail": "[GROUP_EMAIL]" } ], }
Setelah pengeditan selesai, gunakan perintah
update
dan sertakan file JSON menggunakan flag--source
. Jika set data berada dalam project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut:project_id:dataset
.bq update --source path_to_file project_id:dataset
Ganti kode berikut:
path_to_file
: jalur ke file JSON di komputer lokal Anda.project_id
: project ID Anda.dataset
: nama set data Anda.
Contoh:
Masukkan perintah berikut untuk memperbarui kontrol akses bagi
mydataset
.mydataset
berada di project default Anda.bq update --source /tmp/mydataset.json mydataset
Masukkan perintah berikut untuk memperbarui kontrol akses bagi
mydataset
.mydataset
berada dimyotherproject
.bq update --source /tmp/mydataset.json myotherproject:mydataset
Untuk memverifikasi perubahan kontrol akses, masukkan kembali perintah
show
tanpa perlu menuliskan informasi tersebut ke file.bq show --format=prettyjson dataset
atau
bq show --format=prettyjson project_id:dataset
API
Panggil datasets.patch
dan perbarui properti access
di
resource set data.
Karena metode datasets.update
menggantikan seluruh resource set data,
datasets.patch
adalah metode yang lebih disukai untuk memperbarui kontrol akses.
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.
Java
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.
Buat instance Dataset.Builder dari instance Dataset yang ada dengan metode Dataset.toBuilder(). Mengonfigurasi objek builder set data. Buat set data yang diperbarui dengan metode Dataset.Builder.build(), lalu panggil metode Dataset.update() untuk mengirim pembaruan ke API.Konfigurasikan kontrol akses dengan metode Dataset.Builder.setAcl().
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.
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.
Tetapkan properti dataset.access_entries dengan kontrol akses untuk set data. Kemudian, panggil fungsi client.update_dataset() untuk memperbarui properti.Memperbarui periode perjalanan waktu
Anda dapat memperbarui periode perjalanan waktu set data dengan cara berikut:
- Menggunakan konsol Google Cloud.
- Menggunakan pernyataan
ALTER SCHEMA SET OPTIONS
. - Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
datasets.patch
ataudatasets.update
. Metodeupdate
mengganti seluruh resource set data, sedangkan metodepatch
hanya mengganti kolom yang disediakan di resource set data yang dikirimkan.
Untuk informasi selengkapnya tentang periode perjalanan waktu, lihat Mengonfigurasi periode perjalanan waktu.
Untuk memperbarui periode perjalanan waktu untuk set data:
Konsol
- Di panel Explorer, luaskan project Anda dan pilih set data.
- Luaskan opsi Tindakan dan klik Buka.
- Di panel Detail, klik Edit detail.
- Luaskan Opsi lanjutan, lalu pilih Periode perjalanan waktu untuk digunakan.
- Klik Simpan.
SQL
Gunakan pernyataan
ALTER SCHEMA SET OPTIONS
dengan opsi max_time_travel_hours
untuk menentukan periode perjalanan waktu saat mengubah set data. Nilai max_time_travel_hours
harus
berupa bilangan bulat yang dinyatakan dalam kelipatan 24 (48, 72, 96, 120, 144, 168)
antara 48 (2 hari) dan 168 (7 hari).
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA DATASET_NAME SET OPTIONS( max_time_travel_hours = HOURS);
Ganti kode berikut:
DATASET_NAME
: nama set data yang Anda perbaruiHOURS
dengan durasi periode perjalanan waktu dalam jam.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Gunakan perintah bq update
dengan flag --max_time_travel_hours
untuk menentukan periode perjalanan
waktu saat mengubah set data. Nilai --max_time_travel_hours
harus
berupa bilangan bulat yang dinyatakan dalam kelipatan 24 (48, 72, 96, 120, 144, 168)
antara 48 (2 hari) dan 168 (7 hari).
bq update \
--dataset=true --max_time_travel_hours=HOURS \
PROJECT_ID:DATASET_NAME
Ganti kode berikut:
PROJECT_ID
: project ID AndaDATASET_NAME
: nama set data yang Anda perbaruiHOURS
dengan durasi periode perjalanan waktu dalam jam
API
Panggil metode
datasets.patch
atau
datasets.update
dengan resource set data
yang ditentukan ketika Anda telah menentukan nilai untuk kolom maxTimeTravelHours
. Nilai
maxTimeTravelHours
harus berupa bilangan bulat yang dinyatakan dalam kelipatan 24
(48, 72, 96, 120, 144, 168) antara 48 (2 hari) dan 168 (7 hari).
Memperbarui model penagihan penyimpanan
Anda dapat mengubah model penagihan penyimpanan untuk set data. Tetapkan nilai storage_billing_model
ke PHYSICAL
untuk menggunakan
byte fisik saat menghitung perubahan penyimpanan, atau ke LOGICAL
untuk menggunakan
byte logis. LOGICAL
adalah defaultnya.
Jika Anda mengubah model penagihan set data, perlu waktu 24 jam agar perubahan diterapkan.
Setelah mengubah model penagihan penyimpanan set data, Anda harus menunggu 14 hari sebelum dapat mengubah model penagihan penyimpanan lagi.
Konsol
- Di panel Explorer, luaskan project Anda dan pilih set data.
- Luaskan opsi Tindakan dan klik Buka.
- Di panel Detail, klik Edit detail.
- Luaskan Opsi lanjutan, lalu pilih Aktifkan model penagihan penyimpanan fisik untuk menggunakan penagihan penyimpanan fisik, atau batalkan pilihan untuk menggunakan penagihan penyimpanan logis.
- Klik Simpan.
SQL
Untuk memperbarui model penagihan untuk set data, gunakan pernyataan ALTER SCHEMA SET OPTIONS
dan tetapkan opsi storage_billing_model
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA DATASET_NAME SET OPTIONS( storage_billing_model = 'BILLING_MODEL');
Ganti kode berikut:
DATASET_NAME
dengan nama set data yang Anda ubahBILLING_MODEL
dengan jenis penyimpanan yang ingin Anda gunakan,LOGICAL
atauPHYSICAL
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Untuk memperbarui model penagihan penyimpanan bagi semua set data dalam sebuah project, gunakan kueri SQL berikut untuk setiap region tempat set data berada:
FOR record IN (SELECT CONCAT(catalog_name, '.', schema_name) AS dataset_path FROM PROJECT_ID.region-REGION.INFORMATION_SCHEMA.SCHEMATA) DO EXECUTE IMMEDIATE "ALTER SCHEMA `" || record.dataset_path || "` SET OPTIONS(storage_billing_model = 'BILLING_MODEL')"; END FOR;
Ganti kode berikut:
PROJECT_ID
dengan project ID AndaREGION
dengan penentu regionBILLING_MODEL
dengan jenis penyimpanan yang ingin Anda gunakan,LOGICAL
atauPHYSICAL
bq
Untuk memperbarui model penagihan untuk set data, gunakan perintah bq update
dan tetapkan flag --storage_billing_model
:
bq update -d --storage_billing_model=BILLING_MODEL PROJECT_ID:DATASET_NAME
Ganti kode berikut:
PROJECT_ID
: project ID AndaDATASET_NAME
: nama set data yang Anda perbaruiBILLING_MODEL
: jenis penyimpanan yang ingin Anda gunakan,LOGICAL
atauPHYSICAL
API
Panggil metode datasets.update
dengan resource set data
yang ditentukan tempat kolom storageBillingModel
ditetapkan.
Contoh berikut menunjukkan cara memanggil datasets.update
menggunakan curl
:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PUT https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID -d '{"datasetReference": {"projectId": "PROJECT_ID", "datasetId": "DATASET_NAME"}, "storageBillingModel": "BILLING_MODEL"}'
Ganti kode berikut:
PROJECT_ID
: project ID AndaDATASET_NAME
: nama set data yang Anda perbaruiBILLING_MODEL
: jenis penyimpanan yang ingin Anda gunakan,LOGICAL
atauPHYSICAL
Keamanan set data
Untuk mengontrol akses ke set data di BigQuery, lihat Mengontrol akses ke set data. Untuk informasi tentang enkripsi data, lihat Enkripsi dalam penyimpanan.
Langkah selanjutnya
- Untuk informasi selengkapnya tentang cara membuat set data, lihat Membuat set data.
- Untuk informasi selengkapnya tentang mengelola set data, lihat Mengelola set data.