Membuat dan mengelola database
Halaman ini menjelaskan cara membuat, mengupdate, dan menghapus database Firestore dengan kompatibilitas MongoDB. Anda dapat membuat beberapa database Firestore per project. Anda dapat menggunakan beberapa database untuk menyiapkan lingkungan produksi dan pengujian, mengisolasi data pelanggan, serta untuk regionalisasi data.Penggunaan paket gratis
Firestore menawarkan paket gratis yang memungkinkan Anda memulai tanpa biaya.
Paket gratis hanya berlaku untuk satu database Firestore per project. Database pertama yang dibuat dalam project tanpa database paket gratis akan mendapatkan paket gratis. Jika database dengan paket gratis yang diterapkan dihapus, database berikutnya yang dibuat akan menerima paket gratis.
Sebelum memulai
Anda harus menyelesaikan hal berikut sebelum membuat database:
-
Make sure that billing is enabled for your Google Cloud project.
- Tetapkan peran Identity and Access Management yang sesuai seperti yang dijelaskan di bagian berikutnya.
Peran yang diperlukan
Untuk membuat dan mengelola database, Anda memerlukan peran Identity and Access Management Owner
atau Datastore Owner
. Peran ini memberikan izin yang diperlukan.
Izin yang diperlukan
Untuk mengelola database, Anda memerlukan izin berikut:
- Membuat database:
datastore.databases.create
- Membaca konfigurasi database:
datastore.databases.getMetadata
- Mengonfigurasi database:
datastore.databases.update
- Menghapus database:
datastore.databases.delete
Buat database
Untuk membuat database Firestore dengan kompatibilitas MongoDB, gunakan salah satu metode berikut:
Google Cloud console
-
Di Google Cloud console, buka halaman Databases.
- Klik Create a Firestore Database.
- Masukkan ID database.
- Pilih Edisi Enterprise.
- Pilih lokasi untuk database Anda.
- (Opsional) Jika Anda perlu menyesuaikan enkripsi, klik Tampilkan Opsi Enkripsi, lalu konfigurasikan opsi enkripsi.
- Klik Create database.
gcloud CLI
Gunakan perintah
gcloud firestore databases create
dan tetapkan --edition=enterprise
.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise
Ganti kode berikut:
- DATABASE_ID: ID database yang valid.
- LOCATION: nama multi-region atau region Firestore dengan kompatibilitas MongoDB.
Untuk mengaktifkan perlindungan penghapusan, tambahkan flag --delete-protection
.
Anda tidak dapat menghapus database yang mengaktifkan perlindungan penghapusan hingga Anda menonaktifkan setelan ini. Setelan ini dinonaktifkan secara default.
gcloud firestore databases create \ --database=DATABASE_ID \ --location=LOCATION \ --edition=enterprise \ --delete-protection
Terraform
Gunakan resource google_firestore_database
dan tetapkan database_edition
ke ENTERPRISE
resource "google_firestore_database" "database" { name = "DATABASE_ID" location_id = "LOCATION" type = "FIRESTORE_NATIVE" database_edition = "ENTERPRISE" // Optional delete_protection_state = "DELETE_PROTECTION_STATE" }
Ganti kode berikut:
- DATABASE_ID: ID database yang valid.
- LOCATION: nama multi-region atau region Firestore dengan kompatibilitas MongoDB.
- DELETE_PROTECTION_ENABLEMENT: Antara
DELETE_PROTECTION_ENABLED
atauDELETE_PROTECTION_DISABLED
.
Untuk mengaktifkan perlindungan penghapusan, tetapkan delete_protection_state
ke DELETE_PROTECTION_ENABLED
.
Anda tidak dapat menghapus database yang
mengaktifkan perlindungan penghapusan kecuali jika Anda menonaktifkan setelan ini. Setelan ini dinonaktifkan secara default.
ID Database
ID database yang valid mencakup ID yang sesuai dengan hal berikut:
- Hanya berisi karakter huruf, angka, dan tanda hubung (
-
). - Huruf harus berupa huruf kecil.
- Karakter pertama harus berupa huruf.
- Karakter terakhir harus berupa huruf atau angka.
- Minimum 4 karakter.
- Maksimum 63 karakter.
- Tidak boleh berupa UUID atau menyerupai UUID. Misalnya, jangan gunakan ID seperti
f47ac10b-58cc-0372-8567-0e02b2c3d479
.
Jika menghapus database, Anda tidak dapat langsung menggunakan kembali ID database hingga 5 menit.
Menghapus perlindungan
Gunakan perlindungan penghapusan untuk mencegah penghapusan database secara tidak sengaja. Perlindungan penghapusan berfungsi dengan cara berikut:
- Anda tidak dapat menghapus database yang mengaktifkan perlindungan penghapusan kecuali jika Anda menonaktifkan perlindungan penghapusan.
- Perlindungan penghapusan dinonaktifkan secara default.
- Anda dapat mengaktifkan perlindungan penghapusan saat membuat database atau memperbarui konfigurasi database untuk mengaktifkan perlindungan penghapusan.
Mencantumkan database
Gunakan salah satu metode berikut untuk mencantumkan database Anda:
Konsol
Di Google Cloud console, buka halaman Databases.
gcloud CLI
Gunakan
perintah gcloud firestore databases list
untuk mencantumkan semua database di project Anda.
gcloud firestore databases list
Melihat detail database
Untuk melihat detail tentang satu database, gunakan salah satu metode berikut:
Konsol
-
Di Google Cloud console, buka halaman Databases.
- Pilih database dari daftar database.
gcloud CLI
Gunakan perintah gcloud firestore databases describe
:
gcloud firestore databases describe --database=DATABASE_ID
Ganti DATABASE_ID dengan ID database.
Memperbarui konfigurasi database
Untuk memperbarui setelan konfigurasi database, gunakan
perintah
gcloud firestore databases update
.
Gunakan perintah ini untuk mengubah, mengaktifkan, atau menonaktifkan perlindungan penghapusan.
Memperbarui setelan perlindungan penghapusan
Untuk mengaktifkan perlindungan penghapusan di database, gunakan perintah gcloud firestore databases update
dengan flag --delete-protection
. Contoh:
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --delete-protection
Ganti DATABASE_ID dengan ID database.
Untuk menonaktifkan perlindungan penghapusan di database, gunakan
perintah gcloud firestore databases update
dengan flag --no-delete-protection
. Contoh:
gcloud CLI
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection
Ganti DATABASE_ID dengan ID database.
Menghapus database
Untuk menghapus database, gunakan konsol atau alat command line. Menghapus database untuk operasi penghapusan tidak dikenai biaya.
Jika setelan perlindungan penghapusan database diaktifkan, Anda harus menonaktifkan perlindungan penghapusan terlebih dahulu.
Google Cloud console
-
Di Google Cloud console, buka halaman Databases.
- Klik View more di kolom Actions untuk database yang ingin Anda hapus. Klik Hapus. Dialog akan muncul.
Pada dialog Delete database?, konfirmasi penghapusan dengan mengetikkan ID database di kolom teks. Klik Delete. Konsol akan memberi tahu Anda apakah operasi berhasil atau gagal.
Jika operasi gagal, lihat detail database dan pastikan perlindungan penghapusan dinonaktifkan. Untuk menonaktifkan perlindungan penghapusan, lihat bagian Memperbarui setelan perlindungan penghapusan.
gcloud CLI
Gunakan perintah `gcloud firestore databases delete`.
gcloud firestore databases delete --database=DATABASE_ID
Ganti DATABASE_ID dengan ID database yang akan dihapus.
Mengonfigurasi izin akses per database
Anda dapat menggunakan Identity and Access Management Conditions untuk mengonfigurasi izin akses di tingkat per database. Contoh berikut menggunakan Google Cloud CLI guna menetapkan akses kondisional untuk satu atau beberapa database. Anda juga dapat menetapkan kondisi IAM di Google Cloud konsol.
Melihat kebijakan IAM yang ada
gcloud projects get-iam-policy PROJECT_ID
Tetapkan PROJECT_ID
ke project ID Anda.
Memberikan akses ke database
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
Tetapkan berikut ini:
PROJECT_ID
: project ID AndaEMAIL
: alamat email yang mewakili akun tertentu. Contoh,[email protected]
.DATABASE_ID
: ID database.TITLE
: judul ekspresi opsional.DESCRIPTION
: deskripsi ekspresi opsional.
Mengecualikan akses ke satu database tertentu
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'
Tetapkan berikut ini:
PROJECT_ID
: project ID AndaEMAIL
: alamat email yang mewakili akun tertentu. Contoh,[email protected]
.DATABASE_ID
: ID database.TITLE
: judul ekspresi opsional.DESCRIPTION
: deskripsi ekspresi opsional.
Menghapus kebijakan untuk anggota dan peran tertentu
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all
Tetapkan berikut ini:
PROJECT_ID
: project ID AndaEMAIL
: alamat email yang mewakili akun tertentu. Contoh,[email protected]
.
Batasan
Anda dapat memiliki maksimum 100 database per project. Anda dapat menghubungi dukungan untuk meminta peningkatan batas ini.
Langkah berikutnya
- Jalankan Panduan memulai: Membuat database dan terhubung ke database tersebut.
- Pelajari Perbedaan perilaku.
- Pelajari metrik Cloud Monitoring untuk Firestore dengan kompatibilitas MongoDB.