Sunucu istemci kitaplıklarını kullanarak Firestore Enterprise sürümünü kullanmaya başlama

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

  1. 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.

  2. Sol panelde Databases & Storage (Veritabanları ve Depolama Alanı) > Firestore'a gidin.

  3. Create database'i (Veritabanı oluştur) tıklayın.

  4. Veritabanı modu için Enterprise'ı seçin.

  5. Çalışma modu için Core ve Pipeline işlemlerini destekleyen Yerel Modda Firestore'u seçin.

  6. Veritabanınız için bir konum seçin.

  7. 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.

  8. 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
  1. Firebase Admin SDK'sını uygulamanıza ekleyin:
    npm install firebase-admin --save
  2. Ortamınızda Cloud Firestore aracını uygun yeterlilik belgeleriyle ilk kullanıma hazırlamak için aşağıdaki talimatları uygulayın.
Python
  1. Firebase Admin SDK'sını Python uygulamanıza ekleyin:
    pip install --upgrade firebase-admin
  2. Ortamınızda Cloud Firestore aracını uygun yeterlilik belgeleriyle ilk kullanıma hazırlamak için aşağıdaki talimatları uygulayın.
Java
  1. 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>
           
  2. 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.
  • tarihinde başlatGoogle Cloud
    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()
  • Kendi sunucunuzda başlatma

    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.
  • tarihinde başlatGoogle Cloud
    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();
  • Kendi sunucunuzda başlatma

    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
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    Java
    DocumentReference docRef = db.collection("users").document("alovelace");
    // Add document data  with id "alovelace" using a hashmap
    Map<String, Object> data = new HashMap<>();
    data.put("first", "Ada");
    data.put("last", "Lovelace");
    data.put("born", 1815);
    //asynchronously write data
    ApiFuture<WriteResult> result = docRef.set(data);
    // ...
    // result.get() blocks on response
    System.out.println("Update time : " + result.get().getUpdateTime());
    Python
    doc_ref = db.collection("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    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
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    Python
    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    Java
    // asynchronously retrieve all users
    ApiFuture<QuerySnapshot> query = db.collection("users").get();
    // ...
    // query.get() blocks on response
    QuerySnapshot querySnapshot = query.get();
    List<QueryDocumentSnapshot> documents = querySnapshot.getDocuments();
    for (QueryDocumentSnapshot document : documents) {
      System.out.println("User: " + document.getId());
      System.out.println("First: " + document.getString("first"));
      if (document.contains("middle")) {
        System.out.println("Middle: " + document.getString("middle"));
      }
      System.out.println("Last: " + document.getString("last"));
      System.out.println("Born: " + document.getLong("born"));
    }

    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: