সার্ভার ক্লায়েন্ট লাইব্রেরি ব্যবহার করে Firestore Enterprise সংস্করণ ব্যবহার শুরু করুন

এই কুইকস্টার্ট আপনাকে দেখায় কিভাবে Cloud Firestore সেট আপ করতে হয়, ডেটা যোগ করতে হয়, তারপর ব্যবহার করতে হয় কোর অপারেশন বা পাইপলাইন অপারেশন যেকোনও একটি ডেটা কোয়েরি করতে আপনি Java, Node.js এবং Python-এর জন্য সার্ভার ক্লায়েন্ট লাইব্রেরি ব্যবহার করে Firebase কনসোলে যোগ করেছেন।

আপনার ডেটাবেসে সম্পূর্ণ অ্যাক্সেস সহ বিশেষাধিকারপ্রাপ্ত সার্ভার এনভায়রনমেন্ট সেট-আপ করতে এইসব ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন..

Cloud Firestore ডেটাবেস তৈরি করুন

  1. আপনি আগে থেকে Firebase প্রোজেক্ট তৈরি না করে থাকলে, তা করুন: Firebase কনসোল থেকে প্রোজেক্ট যোগ করুন বিকল্পে ক্লিক করুন, তারপর Firebase প্রোজেক্ট তৈরি করতে অথবা আগে থেকে থাকা Google Cloud প্রোজেক্টে Firebase পরিষেবা যোগ করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

  2. বাঁদিকের প্যানেলে, ডেটাবেস ও স্টোরেজ > Firestore বিকল্পে যান।

  3. ডেটাবেস তৈরি করুন বিকল্পে ক্লিক করুন।

  4. ডেটাবেস মোডের জন্য Enterprise বেছে নিন।

  5. অপারেশন মোডের জন্য নেটিভ মোডে Firestore বেছে নিন, যা কোর এবং পাইপলাইন অপারেশনকে সাপোর্ট করে।

  6. আপনার ডেটাবেসের জন্য একটি লোকেশন বেছে নিন।

  7. আপনার Cloud Firestore Security Rules-এর জন্য একটি স্টার্টিং মোড বেছে নিন:

    টেস্ট মোড

    মোবাইল ও ওয়েব ক্লায়েন্ট লাইব্রেরি ব্যবহার শুরু করার জন্য ভাল, তবে এটি যে কাউকে আপনার ডেটা পড়তে ও ওভাররাইট করতে দেয়। টেস্ট করার পরে, আপনার ডেটা সুরক্ষিত করুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।

    ওয়েব, Apple প্ল্যাটফর্ম বা Android SDK-এর মাধ্যমে শুরু করতে, টেস্ট মোড বেছে নিন।

    প্রোডাকশন মোড

    মোবাইল ও ওয়েব ক্লায়েন্ট থেকে সব রিড ও রাইট অ্যাক্সেস বাতিল করে। আপনার যাচাই করা অ্যাপ্লিকেশন সার্ভার (Node.js, Python, Java) এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারবে।

    আপনার Cloud Firestore Security Rules-এর প্রাথমিক সেট আপনার ডিফল্ট Cloud Firestore ডেটাবেসে প্রযোজ্য হবে। আপনার প্রোজেক্টের জন্য একাধিক ডেটাবেস তৈরি করলে, প্রতিটি ডেটাবেসের জন্য Cloud Firestore Security Rules ডিপ্লয় করতে পারবেন।

  8. তৈরি করুন বিকল্পে ক্লিক করুন।

আপনি Cloud Firestore চালু করলে, এটি Cloud API Manager-এও API চালু করে।

আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট-আপ করুন

আপনার অ্যাপে প্রয়োজনীয় ডিপেন্ডেন্সি ও ক্লায়েন্ট লাইব্রেরি যোগ করুন।

Node.js
  1. আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    npm install firebase-admin --save
  2. আপনার এনভায়রনমেন্টে সঠিক ক্রেডেনশিয়াল সহ Cloud Firestore ইনিশিয়ালাইজ করতে নিচে দেওয়া নির্দেশাবলী অনুসরণ করুন।
Python
  1. আপনার Python অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    pip install --upgrade firebase-admin
  2. আপনার এনভায়রনমেন্টে সঠিক ক্রেডেনশিয়াল সহ Cloud Firestore ইনিশিয়ালাইজ করতে নিচে দেওয়া নির্দেশাবলী অনুসরণ করুন।
জাভা
  1. আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    • Gradle ব্যবহার করে:
      implementation 'com.google.firebase:firebase-admin:9.11.0'
    • Maven ব্যবহার করা:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>9.11.0</version>
      </dependency>
           
  2. আপনার এনভায়রনমেন্টে সঠিক ক্রেডেনশিয়াল সহ Cloud Firestore ইনিশিয়ালাইজ করতে নিচে দেওয়া নির্দেশাবলী অনুসরণ করুন।

Cloud Firestore শুরু করুন

Cloud Firestore-এর ইনস্ট্যান্স শুরু করুন:

Node.js
আপনার এনভায়রনমেন্টের উপর নির্ভর করে Cloud Firestore SDK বিভিন্ন উপায়ে ইনিশিয়ালাইজ করা হয়। সবচেয়ে সাধারণ পদ্ধতিগুলি নিচে দেওয়া হল। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK ইনিশিয়ালাইজ করুন দেখুন।
  • Cloud Functions-এ শুরু করুন
    const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
    const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
    initializeApp();
    
    const db = getFirestore();
    
  • Google Cloud-এ শুরু করুন
    const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
    const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
    initializeApp({
      credential: applicationDefault()
    });
    
    const db = getFirestore();
  • আপনার নিজস্ব সার্ভারে ইনিশিয়ালাইজ করুন

    আপনার নিজের সার্ভারে (বা অন্য কোনও Node.js এনভায়রনমেন্টে) Firebase অ্যাডমিন SDK ব্যবহার করতে, পরিষেবা অ্যাকাউন্ট ব্যবহার করুন। Google Cloud Console-এ IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট বিকল্পে যান। নতুন ব্যক্তিগত কী তৈরি করে JSON ফাইল সেভ করুন। তারপর SDK ইনিশিয়ালাইজ করতে ফাইলটি ব্যবহার করুন:

    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 বিভিন্ন উপায়ে ইনিশিয়ালাইজ করা হয়। সবচেয়ে সাধারণ পদ্ধতিগুলি নিচে দেওয়া হল। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK ইনিশিয়ালাইজ করুন দেখুন।
  • Google Cloud-এ শুরু করুন
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()

    SDK শুরু করার জন্য আগে থেকে থাকা অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালও ব্যবহার করা যেতে পারে।

    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 অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    Google Cloud Console-এ IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট বিকল্পে যান। নতুন ব্যক্তিগত কী তৈরি করে JSON ফাইল সেভ করুন। তারপর SDK ইনিশিয়ালাইজ করতে ফাইলটি ব্যবহার করুন:

    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()
  • জাভা
    আপনার এনভায়রনমেন্টের উপর নির্ভর করে Cloud Firestore SDK বিভিন্ন উপায়ে ইনিশিয়ালাইজ করা হয়। সবচেয়ে সাধারণ পদ্ধতিগুলি নিচে দেওয়া হল। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK ইনিশিয়ালাইজ করুন দেখুন।
  • Google 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();
  • আপনার নিজস্ব সার্ভারে ইনিশিয়ালাইজ করুন

    আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    Google Cloud Console-এ IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট বিকল্পে যান। নতুন ব্যক্তিগত কী তৈরি করে JSON ফাইল সেভ করুন। তারপর SDK ইনিশিয়ালাইজ করতে ফাইলটি ব্যবহার করুন:

    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();
  • Core অপারেশন ব্যবহার করে ডেটা যোগ করুন

    ডেটা কোয়েরি করার জন্য Core অপারেশন ও Pipeline অপারেশন এক্সপ্লোর করতে, Core অপারেশন ব্যবহার করে আপনার ডেটাবেসে ডেটা যোগ করুন।

    Cloud Firestore ডকুমেন্টে ডেটা স্টোর করে, যা কালেকশনে স্টোর করা হয়। আপনি প্রথমবার ডকুমেন্টে ডেটা যোগ করলে, Cloud Firestore অন্তর্নিহিতভাবে কালেকশন ও ডকুমেন্ট তৈরি করে। আপনাকে আলাদা করে কালেকশন বা ডকুমেন্ট তৈরি করতে হবে না।

    নিম্নলিখিত উদাহরণ কোড ব্যবহার করে একটি নতুন সংগ্রহ এবং একটি ডকুমেন্ট তৈরি করুন।

    Node.js
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    জাভা
    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})

    Core অপারেশন ব্যবহার করে ডেটা পড়া

    Cloud Firestore-এ ডেটা যোগ করেছেন কিনা তা দ্রুত যাচাই করতে Firebase কনসোলে ডেটা ভিউয়ার ব্যবহার করুন।

    এছাড়াও, আপনি "get" পদ্ধতি ব্যবহার করে সম্পূর্ণ সংগ্রহ ফিরিয়ে আনতে পারবেন।

    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()}")
    জাভা
    // 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"));
    }

    পাইপলাইন অপারেশন ব্যবহার করে ডেটা পড়া

    এখন আপনি পাইপলাইন কোয়েরি অভিজ্ঞতার সাথে কোর কোয়েরি অভিজ্ঞতার তুলনা করতে পারবেন।

    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()}")
    জাভা
    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");
          }
        });

    পরবর্তী ধাপ

    নিম্নলিখিত বিষয়গুলি থেকে Core ও Pipeline অপারেশন সম্পর্কে আপনার জ্ঞান আরও গভীর করুন: