Membuat database Firestore dengan menggunakan library klien server
Panduan memulai ini menunjukkan cara menyiapkan Firestore, menambahkan data, dan membaca data menggunakan library klien server C#, Go, Java, Node.js, PHP, Python, atau Ruby.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Membuat Firestore dalam database mode Native
Jika ini adalah project baru, Anda perlu membuat instance database Firestore.
Dari layar Select a database service, pilih Firestore in Native mode.
Pilih lokasi untuk Firestore Anda.
Setelan lokasi ini adalah lokasi resource Google Cloud Platform (GCP) default project Anda. Perlu diperhatikan bahwa lokasi ini akan digunakan untuk layanan GCP di project Anda yang memerlukan setelan lokasi, khususnya, bucket Cloud Storage default dan aplikasi App Engine (yang diperlukan jika menggunakan Cloud Scheduler).
Klik Create database.
Saat Anda membuat project Firestore, API di Pengelola Cloud API juga akan aktif.
Menyiapkan autentikasi
Untuk menjalankan library klien, Anda harus menyiapkan autentikasi terlebih dahulu dengan membuat akun layanan dan menetapkan variabel lingkungan.
Berikan kredensial autentikasi ke kode aplikasi Anda dengan menetapkan
variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
. Variabel
ini hanya berlaku untuk sesi shell Anda saat ini. Jika Anda ingin variabel
diterapkan ke sesi shell berikutnya, tetapkan variabel dalam file startup shell,
misalnya dalam file ~/.bashrc
atau ~/.profile
.
Linux atau macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Contoh:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
Untuk PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Contoh:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
Untuk command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Ganti KEY_PATH
dengan jalur file JSON yang berisi kredensial Anda.
Menambahkan library klien server ke aplikasi
Tambahkan dependensi dan library klien yang dibutuhkan ke aplikasi Anda.
Java
Tambahkan library Java Firestore ke aplikasi Anda:
-
Menggunakan Maven:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.43.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-firestore</artifactId> </dependency>
- Jika Anda menggunakan Gradle atau menyiapkan tanpa BOM, lihat Firestore Client for Java README.
-
Menggunakan IDE:
Jika menggunakan VS Code, IntelliJ, atau Eclipse, Anda dapat menambahkan library klien ke project menggunakan plugin IDE ini:
Plugin ini menyediakan fungsi tambahan, seperti pengelolaan kunci untuk akun layanan. Lihat dokumentasi setiap plugin untuk mengetahui detailnya.
Python
Tambahkan library Firestore Python ke aplikasi Anda:
pip install --upgrade google-cloud-firestore
Node.js
Tambahkan library Node.js Firestore ke aplikasi Anda:
npm install --save @google-cloud/firestore
Go
Instal library Firestore Go:
go get cloud.google.com/go/firestore
Tambahkan library Firestore Go ke aplikasi Anda:
import "cloud.google.com/go/firestore"
PHP
- Instal dan aktifkan ekstensi gRPC untuk PHP, yang akan Anda perlukan untuk menggunakan library klien.
-
Tambahkan library PHP Firestore ke aplikasi Anda:
composer require google/cloud-firestore
C#
-
Tambahkan library C# Firestore ke aplikasi Anda di file
.csproj
:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
-
Tambahkan kode berikut ke file
Program.cs
Anda:using Google.Cloud.Firestore;
Ruby
-
Tambahkan library Ruby Firestore ke aplikasi Anda di
Gemfile
:gem "google-cloud-firestore"
-
Instal dependensi dari
Gemfile
menggunakan:bundle install
Menginisialisasi Firestore
Lakukan inisialisasi instance Firestore:
Java
import com.google.cloud.firestore.Firestore; import com.google.cloud.firestore.FirestoreOptions;
FirestoreOptions firestoreOptions = FirestoreOptions.getDefaultInstance().toBuilder() .setProjectId(projectId) .setCredentials(GoogleCredentials.getApplicationDefault()) .build(); Firestore db = firestoreOptions.getService();
Python
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.Client(project="my-project-id")
Python
(Asinkron)
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.AsyncClient(project="my-project-id")
Node.js
const Firestore = require('@google-cloud/firestore'); const db = new Firestore({ projectId: 'YOUR_PROJECT_ID', keyFilename: '/path/to/keyfile.json', });
Go
import ( "context" "flag" "fmt" "log" "google.golang.org/api/iterator" "cloud.google.com/go/firestore" ) func createClient(ctx context.Context) *firestore.Client { // Sets your Google Cloud Platform project ID. projectID := "YOUR_PROJECT_ID" client, err := firestore.NewClient(ctx, projectID) if err != nil { log.Fatalf("Failed to create client: %v", err) } // Close client when done with // defer client.Close() return client }
PHP
use Google\Cloud\Firestore\FirestoreClient; /** * Initialize Cloud Firestore with default project ID. */ function setup_client_create(string $projectId = null) { // Create the Cloud Firestore client if (empty($projectId)) { // The `projectId` parameter is optional and represents which project the // client will act on behalf of. If not supplied, the client falls back to // the default project inferred from the environment. $db = new FirestoreClient(); printf('Created Cloud Firestore client with default project ID.' . PHP_EOL); } else { $db = new FirestoreClient([ 'projectId' => $projectId, ]); printf('Created Cloud Firestore client with project ID: %s' . PHP_EOL, $projectId); } }
C#
Ruby
require "google/cloud/firestore" # The `project_id` parameter is optional and represents which project the # client will act on behalf of. If not supplied, the client falls back to the # default project inferred from the environment. firestore = Google::Cloud::Firestore.new project_id: project_id puts "Created Cloud Firestore client with given project ID."
Menambahkan data
Firestore menyimpan data dalam Documents yang disimpan di Collections. Firestore membuat koleksi dan dokumen secara implisit saat pertama kali data ditambahkan ke dokumen. Anda tidak perlu secara eksplisit membuat koleksi atau dokumen.
Buat koleksi baru dan dokumen menggunakan kode contoh berikut.
Java
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membaca data
Untuk memverifikasi dengan cepat bahwa Anda telah menambahkan data ke Firestore, gunakan penampil data di Firebase console.
Anda juga dapat menggunakan metode get
untuk mengambil seluruh koleksi.
Java
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
Perdalam pengetahuan Anda tentang topik berikut:
- Model data — Pelajari lebih lanjut pembuatan struktur data di Firestore, termasuk data hierarkis dan subkoleksi.
- Menambahkan data — Pelajari lebih lanjut cara membuat dan memperbarui data di Firestore.
- Mendapatkan data — Pelajari cara mengambil data lebih lanjut.
- 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.