Bu hızlı başlangıç kılavuzunda, Cloud Firestore nasıl ayarlanacağı, veri ekleme ve ardından Java, Node.js ve Python için sunucu istemci kitaplıklarını kullanarak Firebase konsolunda yeni eklediğiniz verileri sorgulamak üzere temel işlemlerin veya ardışık düzen işlemlerinin nasıl kullanılacağı 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 Firebase projesi oluşturun: Firebase konsolunda Proje ekle'yi tıklayın, ardından Firebase projesi oluşturmak veya mevcut bir Google Cloud projeye Firebase hizmetleri eklemek için ekrandaki talimatları uygulayın.
Sol panelde Veritabanları ve Depolama > Firestore'a gidin.
Create database'i (Veritabanı oluştur) tıklayın.
Veritabanı modu için Enterprise'ı seçin.
İşlem modu için Firestore in Native Mode'u seçin. Bu mod, Core ve Pipeline 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üvenceye alın 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 Manager'da da API 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
- Cloud Firestore öğesini ortamınızda 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
- Cloud Firestore öğesini ortamınızda 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.11.0'
-
Maven'i kullanma:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
-
Gradle'ı kullanma:
- Cloud Firestore öğesini ortamınızda 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öntemleri aşağıda bulabilirsiniz. Tam referans için Yönetici SDK'sını başlatma başlıklı makaleyi inceleyin.-
Cloud Functions tarihinde başlatma
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Google Cloud tarihinde başlatma
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öntemleri aşağıda bulabilirsiniz. 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öntemleri aşağıda bulabilirsiniz. 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 işlem hattı işlemlerini keşfetmek üzere temel işlemleri kullanarak veritabanınıza veri ekleyin.
Cloud Firestore verileri, Koleksiyonlar'da depolanan Dokümanlar'da 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 verileri 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
Verileri işlem hattı işlemlerini kullanarak 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 Pipeline 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şlemleriyle sorgulama hakkında daha fazla bilgi edinin.