Membuat database Firestore dengan menggunakan library klien server
Panduan memulai ini menunjukkan cara menyiapkan Firestore, menambahkan data, dan membaca data dengan menggunakan klien server C#, Go, Java, Node.js, PHP, Python, atau Ruby library.
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 database Firestore di instance Compute Engine.
Dari layar Select a database service, pilih Firestore dalam mode Native.
Pilih lokasi untuk Firestore.
Setelan lokasi ini adalah lokasi resource Google Cloud Platform (GCP) default project Anda. Perhatikan bahwa lokasi ini akan digunakan untuk layanan GCP di project Anda yang Anda memerlukan setelan lokasi, khususnya, Cloud Storage dan akun App Engine (yang merupakan diperlukan jika Anda menggunakan Cloud Scheduler).
Klik Create database.
Saat Anda membuat project Firestore, API di bagian Pengelola Cloud API.
Menyiapkan autentikasi
Untuk menjalankan library klien, Anda harus terlebih dahulu menyiapkan autentikasi dengan membuat akun layanan dan mengatur 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 melakukan penyiapan tanpa BOM, lihat Klien Firestore untuk README Java.
-
Menggunakan IDE:
Jika Anda menggunakan VS Code, IntelliJ, atau Eclipse, Anda dapat menambahkan ke project Anda menggunakan plugin IDE berikut:
Plugin ini menyediakan fungsi tambahan, seperti kunci untuk akun layanan. Lihat masing-masing plugin dokumentasi untuk detailnya.
Python
Tambahkan library Python Firestore ke aplikasi Anda:
pip install --upgrade google-cloud-firestore
Node.js
Tambahkan library Firestore Node.js 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
Melakukan inisialisasi Firestore
Lakukan inisialisasi pada 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 Anda menambahkan data ke dokumen. Anda tidak perlu secara eksplisit membuat koleksi atau dokumen.
Buat koleksi baru dan dokumen menggunakan kode contoh berikut.
Java
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk 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 melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membaca data
Untuk memverifikasi dengan cepat bahwa Anda telah menambahkan data ke Firestore, gunakan data tersebut pelihat di Firebase console.
Anda juga dapat menggunakan metode get
untuk mengambil seluruh koleksi.
Java
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
(Async)
Node.js
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk melakukan autentikasi ke Firestore, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
Perdalam pengetahuan Anda tentang topik berikut:
- Model data — Pelajari lebih lanjut bagaimana data terstruktur 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 ditampilkan oleh kueri.