Gunakan Firestore untuk menyiapkan database cloud NoSQL yang skalabel untuk layanan Cloud Run Anda. Firestore adalah database NoSQL yang fleksibel dan skalabel untuk pengembangan seluler, web, dan server.
Dengan menggunakan integrasi Cloud Run yang dijelaskan di halaman ini, Anda dapat dengan cepat menghubungkan layanan Cloud Run ke database Firestore baru.
Sebelum memulai
- Pastikan layanan Cloud Run yang ingin Anda integrasikan sudah di-deploy.
- Tinjau halaman harga Firestore. Anda akan dikenai biaya untuk setiap resource yang digunakan dalam integrasi.
Peran yang diperlukan
Untuk menggunakan integrasi Cloud Run, Anda atau administrator Anda harus memberikan peran IAM pada dua akun utama yang berbeda.
Klik untuk melihat peran yang diperlukan untuk Akun Google Anda
Untuk mendapatkan izin yang diperlukan untuk menggunakan integrasi Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut pada Akun Google Anda pada project Anda:
- Developer Cloud Run (
roles/run.developer
) - Viewer Compute (
roles/compute.viewer
) - Serverless Integrations Developer (
roles/runapps.developer
) - Serverless Integrations Operator (
roles/runapps.operator
) - Service Account User (
roles/iam.serviceAccountUser
)
Klik untuk melihat peran yang diperlukan untuk akun layanan
Untuk men-deploy layanan Cloud Run, Anda dapat menggunakan akun layanan default Compute Engine yang dibuat otomatis, atau menentukan akun layanan yang dikelola pengguna. Akun layanan harus memiliki peran berikut:
- Developer Cloud Run (
roles/run.developer
) - Penulis Bucket Log (
roles/logging.bucketWriter
) - Service Account User (
roles/iam.serviceAccountUser
) - Storage Admin (
roles/storage.admin
) - Admin Firestore (
roles/firestore.admin
) - Project IAM Admin (
roles/projectIAM.admin
)
Menghubungkan layanan ke database Firestore baru
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Anda dapat menghubungkan layanan Cloud Run ke database Firestore menggunakan konsol atau command line.
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Klik Tambahkan integrasi.
Klik Firestore database.
Gunakan nama default atau ubah nama ke nilai yang ingin Anda gunakan.
Jika diminta untuk mengaktifkan daftar API, klik Enable dan tunggu hingga API diaktifkan.
Di bagian Resource, catat resource baru yang akan dibuat sebagai hasil dari integrasi ini.
Klik Submit dan tunggu hingga integrasi dan resource dibuat. Proses ini dapat memerlukan waktu hingga 15 menit.
Command line
Update ke Google Cloud CLI terbaru:
gcloud components update
Buat integrasi:
gcloud beta run integrations create \ --type=firestore \ --service=SERVICE \
Ganti:
- SERVICE dengan nama layanan Cloud Run Anda.
Secara opsional, sertakan flag
--service-account=SERVICE_ACCOUNT_EMAIL
.SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan yang dikelola pengguna (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) yang digunakan untuk men-deploy layanan. Hapus flag ini jika Anda ingin menggunakan akun layanan komputasi default (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
).Untuk terus menggunakan akun layanan yang ditentukan saat men-deploy integrasi Cloud Run, jalankan perintah berikut:
gcloud config set runapps/deployment-service-account
Tunggu hingga 15 menit. Selama waktu tersebut, database Firestore yang dikonfigurasi sepenuhnya akan dibuat dan terhubung. Selain itu, revisi Cloud Run baru juga akan dibuat, termasuk variabel lingkungan yang mengidentifikasi database. Setelah proses selesai, pesan berikut akan ditampilkan:
[firestore] integration [firestore-xxx] has been updated successfully. To connect to the Firestore database, utilize the environment variable `FIRESTORE_DB_NAME`. This variable is added to the Cloud Run service for you.
Anda dapat memeriksa status dengan menjalankan
gcloud beta run integrations describe
.
Melihat integrasi database Firestore
Untuk melihat status integrasi database Firestore saat ini untuk layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan dalam daftar layanan yang ingin Anda gunakan dalam integrasi ini.
Klik tab Integrations.
Temukan integrasi database Firestore yang Anda minati, lalu klik View details.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Menggunakan nama dari daftar yang ditampilkan, tampilkan detailnya:
gcloud beta run integrations describe INTEGRATION_NAME
Ganti INTEGRATION_NAME dengan nama integrasi database Firestore Anda.
Menghapus integrasi database Firestore
Menghapus integrasi juga akan menghapus semua resource Google Cloud yang terkait dengan integrasi tersebut, tetapi tidak akan menghapus layanan Cloud Run Anda.
Untuk menghapus integrasi database Firestore dari layanan Cloud Run Anda:
Konsol
Pada konsol Google Cloud, buka halaman Cloud Run.
Klik layanan yang integrasinya ingin Anda hapus.
Klik tab Integrations.
Temukan integrasi database Firestore yang Anda minati, lalu klik ikon elipsis di sebelah kanan integrasi, lalu klik Delete.
Command line
Gunakan perintah berikut untuk mendapatkan daftar integrasi yang tersedia:
gcloud beta run integrations list
Dengan menggunakan nama dari daftar yang ditampilkan, hapus integrasi:
gcloud beta run integrations delete INTEGRATION_NAME
Ganti:
- INTEGRATION_NAME dengan nama integrasi database Firestore Anda.
Secara opsional, Anda dapat menggunakan opsi tanda berikut:
Opsi Deskripsi --service-account
Alamat email akun layanan yang dikelola pengguna untuk melakukan operasi penghapusan.
Mengakses database Firestore dalam kode Anda
Setelah Anda menyelesaikan integrasi, Cloud Run akan otomatis menambahkan variabel lingkungan FIRESTORE_DB_NAME
untuk digunakan dalam kode layanan Cloud Run Anda.
Kode contoh untuk layanan yang menggunakan Firestore
Baca dokumentasi Firestore untuk contoh kode Cloud Run dan Firestore.
Batasan
- Integrasi Cloud Run hanya didukung di region tertentu. Jika Anda perlu menggunakan region yang tidak didukung oleh integrasi Cloud Run, lihat Menggunakan library klien sisi server.
- Database default Firestore tidak didukung. Integrasi ini hanya mendukung pembuatan database Firestore yang diberi nama.