Bu hızlı başlangıçta, Cloud Firestore'yı nasıl ayarlayacağınız, veri ekleyeceğiniz ve ardından Java, Node.js ve Python için sunucu istemci kitaplıklarını kullanarak Firebase konsolunda yeni eklediğiniz verileri sorgulamak için temel işlemleri veya ardışık düzen işlemlerini nasıl kullanacağınız 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 Firebase projesi oluşturmak veya mevcut bir Google Cloud projesine Firebase hizmetleri eklemek için ekrandaki talimatları uygulayın.
Projenizi Firebase konsolunda açın. Sol panelde Oluştur'u genişletin ve Firestore veritabanı'nı seçin.
Create database'i (Veritabanı oluştur) tıklayın.
Veritabanı modu için Enterprise'ı seçin.
İşlem modu için Yerel Modda Firestore'u seçin. Bu mod, temel ve işlem hattı işlemlerini destekler.
Veritabanınız için bir konum seçin.
Cloud Firestore Security Rules için bir başlangıç modu seçin:
- Test modu
Mobil ve web istemci kitaplıklarını kullanmaya başlamak için uygundur ancak herkesin verilerinizi okumasına ve üzerine yazmasına izin verir. Testten sonra Verilerinizi güvence altına alma bölümünü incelemeyi unutmayın.
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 kümeniz, varsayılan Cloud Firestore veritabanınız için geçerli olur. 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'yı etkinleştirdiğinizde Cloud API Yöneticisi'nde de API etkinleştirilir.
Geliştirme ortamınızı kurma
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'ı uygun kimlik bilgileriyle başlatmak 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'ı uygun kimlik bilgileriyle başlatmak için aşağıdaki talimatları uygulayın.
Java
- Firebase Admin SDK'sını uygulamanıza ekleyin:
-
Gradle'ı kullanma:
implementation 'com.google.firebase:firebase-admin:9.7.1'
-
Maven'i kullanma:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.1</version> </dependency>
-
Gradle'ı kullanma:
- Ortamınızda Cloud Firestore'ı uygun kimlik bilgileriyle başlatmak 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, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda verilmiştir. Tam referans için Yönetici SDK'sını başlatma başlıklı makaleyi inceleyin.-
Cloud Functions tarihinde ilk kullanıma hazırlama
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Google Cloud tarihinde ilk kullanıma hazırlama
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, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda verilmiştir. 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 varsayılan uygulama 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 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, ortamınıza bağlı olarak farklı şekillerde başlatılır. En yaygın yöntemler aşağıda verilmiştir. 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 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
Verileri 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 Belgeler'de saklar. Cloud Firestore, dokümana ilk kez veri eklediğinizde koleksiyonları ve dokümanları örtülü olarak oluşturur. Koleksiyon veya doküman 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 veri okuma
Cloud Firestore'a 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
Ardışık düzen 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 bilginizi derinleştirin:
- Temel ve İşlem Hattı işlemleri arasındaki farkları bildiğinizden emin olun.
- Temel işlemler ile sorgulama hakkında daha fazla bilgi edinin.
- Pipeline işlemleri ile sorgulama hakkında daha fazla bilgi edinin.