Bu hızlı başlangıç kılavuzunda, Cloud Firestore kurulumunu yapma, veri ekleme ve ardından Java, Node.js ve Python için sunucu istemci kitaplıklarını kullanarak Firebase konsoluna eklediğiniz verileri sorgulamak üzere temel işlemleri veya ardışık düzen işlemlerini kullanma adımları gösterilmektedir.
Veritabanınıza tam erişim sağlayan ayrıcalıklı sunucu ortamları oluşturmak için bu istemci kitaplıklarını kullanın.
Cloud Firestore veritabanı oluşturma
Henüz yapmadıysanız bir Firebase projesi oluşturun: Firebase konsolunda Proje ekle'yi tıklayın, ardından ekrandaki talimatları uygulayarak bir Firebase projesi oluşturun veya mevcut bir Google Cloud projesine Firebase hizmetlerini ekleyin.
Sol panelde Databases & Storage (Veritabanları ve Depolama Alanı) > Firestore'a gidin.
Create database'i (Veritabanı oluştur) tıklayın.
Veritabanı modu için Enterprise'ı seçin.
Çalışma modu için Core ve Pipeline işlemlerini destekleyen Yerel Modda Firestore'u seçin.
Veritabanınız için bir konum seçin.
Cloud Firestore Security Rules cihazınız için bir başlangıç modu seçin:
- Test modu
Mobil ve web istemci kitaplıklarını kullanmaya başlamak için idealdir ancak herkesin verilerinizi okumasına ve üzerine yazmasına izin verir. Testten sonra Verilerinizi güvende tutma bölümünü incelediğinizden emin olun.
Web, Apple platformları veya Android SDK'sını kullanmaya başlamak için test modunu seçin.
- Üretim modu
Mobil ve web istemcilerinden gelen tüm okuma ve yazma işlemlerini reddeder. Kimliği doğrulanmış uygulama sunucularınız (Node.js, Python, Java) veritabanınıza erişmeye devam edebilir.
İlk Cloud Firestore Security Rules grubunuz varsayılan Cloud Firestore veritabanınıza uygulanır. Projeniz için birden fazla veritabanı oluşturursanız her veritabanı için Cloud Firestore Security Rules dağıtabilirsiniz.
Oluştur'u tıklayın.
Cloud Firestore hizmetini etkinleştirdiğinizde API, Cloud API Manager'da da etkinleştirilir.
Geliştirme ortamınızı ayarlama
Gerekli bağımlılıkları ve istemci kitaplıklarını uygulamanıza ekleyin.
Node.js
-
Firebase Admin SDK'sını uygulamanıza ekleyin:
npm install firebase-admin --save
- Ortamınızda Cloud Firestore aracını uygun yeterlilik belgeleriyle ilk kullanıma hazırlamak için aşağıdaki talimatları uygulayın.
Python
- Firebase Admin SDK'sını Python uygulamanıza ekleyin:
pip install --upgrade firebase-admin
- Ortamınızda Cloud Firestore aracını uygun yeterlilik belgeleriyle ilk kullanıma hazırlamak için aşağıdaki talimatları uygulayın.
Java
- Firebase Admin SDK'sını uygulamanıza ekleyin:
-
Gradle'ı kullanarak:
implementation 'com.google.firebase:firebase-admin:9.11.0'
-
Maven'ı kullanma:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
-
Gradle'ı kullanarak:
- Ortamınızda Cloud Firestore aracını uygun yeterlilik belgeleriyle ilk kullanıma hazırlamak için aşağıdaki talimatları uygulayın.
Cloud Firestore başlatılıyor
Cloud Firestore örneğini başlatın:
Node.js
Cloud Firestore SDK'sı, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda açıklanmıştır. Tam referans için Yönetici SDK'sını başlatma başlıklı makaleyi inceleyin.-
tarihinde başlatCloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
tarihinde başlatGoogle Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Kendi sunucunuzda başlatma
Firebase Admin SDK'yı kendi sunucunuzda (veya başka bir Node.js ortamında) kullanmak için hizmet hesabı kullanın. Google Cloud Console'da IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:
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();
Python
Cloud Firestore SDK'sı, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda açıklanmıştır. Tam referans için Yönetici SDK'sını başlatma başlıklı makaleyi inceleyin.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
SDK'yı başlatmak için mevcut bir uygulama varsayılan kimlik bilgisi de kullanılabilir.
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()
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.
Google Cloud Console'da IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:
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()
Java
Cloud Firestore SDK'sı, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda açıklanmıştır. Tam referans için Yönetici SDK'sını başlatma başlıklı makaleyi inceleyin.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();
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.
Google Cloud Console'da IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:
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();
Temel işlemleri kullanarak veri ekleme
Veri sorgulamak için temel işlemleri ve ardışık düzen işlemlerini keşfetmek üzere temel işlemleri kullanarak veritabanınıza veri ekleyin.
Cloud Firestore, verileri koleksiyonlarda depolanan dokümanlarda depolar. Cloud Firestore, dokümana ilk kez veri eklediğinizde koleksiyonları ve dokümanları dolaylı olarak oluşturur. Koleksiyonları veya dokümanları açıkça oluşturmanız gerekmez.
Aşağıdaki örnek kodu kullanarak yeni bir koleksiyon ve doküman oluşturun.
Node.js
Java
Python
Temel işlemleri kullanarak verileri okuma
Cloud Firestore'ye veri eklediğinizi hızlıca doğrulamak için Firebase konsolundaki veri görüntüleyiciyi kullanın.
Koleksiyonun tamamını almak için "get" yöntemini de kullanabilirsiniz.
Node.js
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Java
Pipeline işlemlerini kullanarak verileri okuma
Artık Pipeline sorgu deneyimini Core sorgu deneyimiyle karşılaştırabilirsiniz.
Node.js
const readDataPipeline = db.pipeline() .collection("users"); // Execute the pipeline and handle the result try { const querySnapshot = await readDataPipeline.execute(); querySnapshot.results.forEach((result) => { console.log(`${result.id} => ${result.data()}`); }); } catch (error) { console.error("Error getting documents: ", error); }
Python
pipeline = client.pipeline().collection("users") for result in pipeline.execute(): print(f"{result.id} => {result.data()}")
Java
Pipeline pipeline = firestore.pipeline().collection("users"); ApiFuture<Pipeline.Snapshot> future = pipeline.execute(); for (com.google.cloud.firestore.PipelineResult result : future.get().getResults()) { System.out.println(result.getId() + " => " + result.getData()); } // or, asynchronously pipeline.execute( new ApiStreamObserver<com.google.cloud.firestore.PipelineResult>() { @Override public void onNext(com.google.cloud.firestore.PipelineResult result) { System.out.println(result.getId() + " => " + result.getData()); } @Override public void onError(Throwable t) { System.err.println(t); } @Override public void onCompleted() { System.out.println("done"); } });
Sonraki adımlar
Aşağıdaki konularla Core ve Pipeline işlemleri hakkındaki bilgilerinizi derinleştirin:
- Temel ve ardışık düzen işlemleri arasındaki farkları bildiğinizden emin olun.
- Temel işlemler ile sorgulama hakkında daha fazla bilgi edinin.
- Ardışık düzen işlemleri ile sorgulama hakkında daha fazla bilgi edinin.