Panduan memulai ini menunjukkan cara menyiapkan edisi Cloud Firestore Enterprise, menambahkan data, lalu melihat data yang baru saja ditambahkan di Firebase console menggunakan library klien server untuk C#, Go, Java, Node.js, PHP, Python, dan Ruby.
Gunakan library klien ini untuk menyiapkan lingkungan server dengan hak istimewa yang memiliki akses penuh ke database Anda.
Membuat database Cloud Firestore
Jika belum melakukannya, buat project Firebase: Di Firebase console, klik Add project, lalu ikuti petunjuk di layar untuk membuat project Firebase atau untuk menambahkan layanan Firebase ke project Google Cloud yang ada.
Buka project Anda di Firebase console. Di panel kiri, luaskan Build, lalu pilih Firestore database.
Klik Create database.
Pilih lokasi untuk database Anda.
Jika lokasi tidak dapat dipilih, berarti "lokasi untuk resource Google Cloud default" project Anda sudah ditetapkan. Beberapa resource project (seperti instance Cloud Firestore default) memiliki dependensi lokasi yang sama, dan lokasinya dapat ditetapkan selama pembuatan project atau saat menyiapkan layanan lain yang memiliki dependensi lokasi ini.
Pilih mode awal untuk Cloud Firestore Security Rules Anda:
- Mode pengujian
Cocok untuk memulai dengan library klien seluler dan web, tetapi memungkinkan siapa pun untuk membaca dan menimpa data Anda. Setelah melakukan pengujian, pastikan untuk membaca bagian Melindungi data.
Untuk memulai dengan web, platform Apple, atau Android SDK, pilih mode pengujian.
- Mode produksi
Menolak semua pembacaan dan penulisan dari klien seluler dan web. Server aplikasi terautentikasi (C#, Go, Java, Node.js, PHP, Python, atau Ruby) masih dapat mengakses database Anda.
Untuk mulai menggunakan library klien server C#, Go, Java, Node.js, PHP, Python, atau Ruby, pilih mode produksi.
Kumpulan Cloud Firestore Security Rules awal Anda akan diterapkan ke database Cloud Firestore default. Jika Anda membuat beberapa database untuk project, Anda dapat men-deploy Cloud Firestore Security Rules untuk setiap database.
Klik Create.
Saat Anda mengaktifkan Cloud Firestore, API di Pengelola Cloud API juga akan aktif.
Menyiapkan lingkungan pengembangan
Tambahkan dependensi dan library klien yang dibutuhkan ke aplikasi Anda.
Java
- Tambahkan Firebase Admin SDK ke aplikasi Anda:
-
Menggunakan Gradle:
implementation 'com.google.firebase:firebase-admin:9.7.1'
-
Menggunakan Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.1</version> </dependency>
-
Menggunakan Gradle:
- Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Python
- Tambahkan Firebase Admin SDK ke aplikasi Python Anda:
pip install --upgrade firebase-admin
- Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Node.js
-
Tambahkan Firebase Admin SDK ke aplikasi Anda:
npm install firebase-admin --save
- Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Go
- Tambahkan Firebase Admin SDK ke aplikasi Go Anda:
go get firebase.google.com/go
- Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
PHP
-
Library klien server Cloud Firestore (Java, Node.js, Python, Go, PHP, C#, dan Ruby) menggunakan
Kredensial Default Aplikasi Google
untuk melakukan autentikasi.
-
Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALSmengarah ke file kunci akun layanan JSON. Anda dapat membuat file kunci di halaman Credentials di Konsol API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - Autentikasi tidak diperlukan jika aplikasi yang Anda jalankan pada App Engine atau Compute Engine di lingkungan produksi menggunakan project yang sama dengan yang digunakan untuk Cloud Firestore. Jika Anda menggunakan project berbeda, siapkan akun layanan.
-
Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan
- Instal dan aktifkan ekstensi gRPC untuk PHP, yang akan Anda perlukan untuk menggunakan library klien.
-
Tambahkan library PHP Cloud Firestore ke aplikasi Anda:
composer require google/cloud-firestore
Ruby
-
Library klien server Cloud Firestore (Java, Node.js, Python, Go, PHP, C#, dan Ruby) menggunakan
Kredensial Default Aplikasi Google
untuk melakukan autentikasi.
-
Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALSmengarah ke file kunci akun layanan JSON. Anda dapat membuat file kunci di halaman Credentials di Konsol API.export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Autentikasi tidak diperlukan jika aplikasi yang Anda jalankan pada App Engine atau Compute Engine di lingkungan produksi menggunakan project yang sama dengan yang digunakan untuk Cloud Firestore. Jika Anda menggunakan project berbeda, siapkan akun layanan.
-
Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan
-
Tambahkan library Ruby Cloud Firestore ke aplikasi Anda di
Gemfile:gem "google-cloud-firestore"
-
Instal dependensi dari
Gemfilemenggunakan:bundle install
(Opsional) Membuat prototipe dan melakukan pengujian dengan Firebase Local Emulator Suite
Bagi developer seluler, sebelum membahas cara aplikasi Anda menulis ke dan membaca dari Cloud Firestore, kenali Firebase Local Emulator Suite yang merupakan sekumpulan alat yang dapat Anda gunakan untuk membuat prototipe dan menguji fungsi Cloud Firestore. Jika Anda sedang mencoba berbagai model data, mengoptimalkan aturan keamanan, atau berupaya menemukan cara yang paling hemat biaya untuk berinteraksi dengan backend, akan sangat bermanfaat jika Anda dapat bekerja secara lokal tanpa men-deploy layanan langsung.
Emulator Cloud Firestore adalah bagian dari Local Emulator Suite, yang memungkinkan aplikasi Anda berinteraksi dengan konten dan konfigurasi database yang diemulasi, serta, jika diinginkan, dengan resource project yang diemulasi (fungsi, database lain, dan aturan keamanan).
Hanya diperlukan beberapa langkah untuk menggunakan emulator Cloud Firestore:
- Menambahkan satu baris kode ke konfigurasi pengujian aplikasi untuk terhubung ke emulator.
- Menjalankan
firebase emulators:startdari root direktori project lokal Anda. - Melakukan panggilan dari kode prototipe aplikasi Anda menggunakan platform Cloud Firestore SDK seperti biasa.
Panduan mendetail yang mencakup Cloud Firestore dan Cloud Functions telah tersedia. Sebaiknya baca juga pengantar Local Emulator Suite.
Lakukan inisialisasi Cloud Firestore
Lakukan inisialisasi instance Cloud Firestore:
Java
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.
Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Python
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
Kredensial default aplikasi yang sudah ada juga dapat digunakan untuk melakukan inisialisasi SDK tersebut.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.
Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
Kredensial default aplikasi yang sudah ada juga dapat digunakan untuk melakukan inisialisasi SDK tersebut.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.
Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
Node.js
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.-
Melakukan inisialisasi pada Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Melakukan inisialisasi pada Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Melakukan inisialisasi pada server Anda sendiri
Untuk menggunakan Firebase Admin SDK pada server Anda sendiri (atau lingkungan Node.js lainnya), gunakan akun layanan. Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
Go
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.
Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.
C#
C#
Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.
Ruby
Tambahkan data
Cloud Firestore menyimpan data dalam Documents yang disimpan di Collections. Cloud Firestore membuat koleksi dan dokumen secara implisit saat pertama kali Anda menambahkan data ke dokumen. Anda tidak perlu membuat koleksi atau dokumen secara eksplisit.
Buat koleksi baru dan dokumen menggunakan kode contoh berikut.
Java
Python
Python
Node.js
Go
PHP
PHP
Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.
C#
Ruby
Sekarang tambahkan dokumen lain ke koleksi users. Perhatikan bahwa dokumen ini berisi key-value pair (nama tengah) yang tidak muncul di dokumen pertama. Dokumen dalam koleksi dapat berisi kumpulan informasi yang berbeda.
Java
Python
Python
Node.js
Go
PHP
PHP
Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.
C#
Ruby
Membaca data
Gunakan penampil data di Firebase console untuk memverifikasi dengan cepat bahwa Anda telah menambahkan data ke Cloud Firestore.
Anda juga dapat menggunakan metode "get" untuk mengambil seluruh koleksi.
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
Node.js
Go
PHP
PHP
Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.
C#
Ruby
Langkah berikutnya
Perdalam pengetahuan Anda tentang topik berikut:
- Model data — Pelajari lebih lanjut pembuatan struktur data di Cloud Firestore, termasuk data hierarkis dan subkoleksi.
- Menambahkan data — Pelajari lebih lanjut cara membuat dan memperbarui data di Cloud Firestore.
- Mendapatkan data — Pelajari lebih lanjut cara mengambil data.
- Menjalankan kueri sederhana dan gabungan — Pelajari cara menjalankan kueri sederhana dan gabungan.
- Mengurutkan dan membatasi kueri Pelajari cara mengurutkan dan membatasi data yang dihasilkan oleh kueri.