স্থানীয় এমুলেটর স্যুট ইনস্টল, কনফিগার এবং সংহত করুন

ফায়ারবেস লোকাল এমুলেটর স্যুটটি বিভিন্ন প্রোটোটাইপ এবং টেস্ট এনভায়রনমেন্টের জন্য ইনস্টল ও কনফিগার করা যেতে পারে, যা এককালীন প্রোটোটাইপিং সেশন থেকে শুরু করে প্রোডাকশন-স্কেল কন্টিনিউয়াস ইন্টিগ্রেশন ওয়ার্কফ্লো পর্যন্ত সবকিছুর জন্য ব্যবহারযোগ্য।

লোকাল এমুলেটর স্যুট ইনস্টল করুন

এমুলেটর স্যুট ইনস্টল করার আগে আপনার যা যা প্রয়োজন হবে:

  • Node.js ভার্সন ১৬.০ বা তার চেয়ে উচ্চতর।
  • জাভা জেডিকে সংস্করণ ১১ বা উচ্চতর।

এমুলেটর স্যুট ইনস্টল করতে:

  1. Firebase CLI ইনস্টল করুন। যদি আপনার Firebase CLI আগে থেকে ইনস্টল করা না থাকে, তবে এখনই এটি ইনস্টল করুন । Emulator Suite ব্যবহার করার জন্য আপনার CLI ভার্সন 8.14.0 বা তার উচ্চতর সংস্করণ প্রয়োজন হবে। নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি আপনার ইনস্টল করা সংস্করণটি পরীক্ষা করতে পারেন:
    firebase --version
  2. যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে কোন পণ্যগুলি ব্যবহার করবেন তা নির্দিষ্ট করতে স্ক্রিনে প্রদর্শিত নির্দেশাবলী অনুসরণ করে বর্তমান ওয়ার্কিং ডিরেক্টরিটিকে একটি Firebase প্রজেক্ট হিসাবে শুরু করুন:
    firebase init
  3. এমুলেটর স্যুট সেট আপ করুন। এই কমান্ডটি একটি কনফিগারেশন উইজার্ড চালু করে, যা আপনাকে আপনার পছন্দের এমুলেটরগুলো নির্বাচন করতে, সংশ্লিষ্ট এমুলেটরের বাইনারি ফাইলগুলো ডাউনলোড করতে এবং ডিফল্ট পোর্টগুলো উপযুক্ত না হলে এমুলেটর পোর্ট সেট করতে দেয়।
    firebase init emulators

একবার এমুলেটর ইনস্টল হয়ে গেলে, আপনার Firebase CLI সংস্করণ আপডেট না করা পর্যন্ত কোনো আপডেট চেক করা হয় না এবং কোনো অতিরিক্ত স্বয়ংক্রিয় ডাউনলোডও হবে না।

এমুলেটর স্যুট কনফিগার করুন

আপনি চাইলে firebase.json ফাইলে এমুলেটরগুলোর নেটওয়ার্ক পোর্ট এবং সিকিউরিটি রুলস ডেফিনিশনের পাথ কনফিগার করতে পারেন:

  • firebase init emulators চালিয়ে অথবা firebase.json ম্যানুয়ালি সম্পাদনা করে এমুলেটর পোর্ট পরিবর্তন করুন।
  • firebase.json ম্যানুয়ালি সম্পাদনা করে সিকিউরিটি রুলস ডেফিনিশনের পাথ পরিবর্তন করুন।

আপনি যদি এই সেটিংসগুলো কনফিগার না করেন, তাহলে এমুলেটরগুলো তাদের ডিফল্ট পোর্টে কাজ করবে এবং Cloud Firestore , Realtime DatabaseCloud Storage for Firebase এমুলেটরগুলো উন্মুক্ত ডেটা নিরাপত্তা সহকারে চলবে।

আদেশ বর্ণনা
ইনিট এমুলেটর একটি এমুলেটর ইনিশিয়ালাইজেশন উইজার্ড চালু করুন। ইনস্টল করার জন্য এমুলেটরগুলো শনাক্ত করুন এবং ঐচ্ছিকভাবে এমুলেটর পোর্ট সেটিংস নির্দিষ্ট করুন। init emulators কোনো ডেটা নষ্ট করে না; ডিফল্ট সেটিংস গ্রহণ করলে বর্তমান এমুলেটর কনফিগারেশন সংরক্ষিত থাকবে।

পোর্ট কনফিগারেশন

প্রতিটি এমুলেটর আপনার মেশিনের একটি ভিন্ন পোর্টের সাথে একটি পছন্দের ডিফল্ট মান সহ সংযুক্ত হয়।

এমুলেটর ডিফল্ট পোর্ট
Authentication ৯০৯৯
App Hosting ৫০০২
Emulator Suite UI ৪০০০
Cloud Functions ৫০০১
ইভেন্টার্ক ৯২৯৯
Realtime Database ৯০০০
Cloud Firestore ৮০৮০
Cloud Storage for Firebase ৯১৯৯
Firebase Hosting ৫০০০
Pub/Sub ৮০৮৫

প্রজেক্ট আইডি কনফিগারেশন

আপনি কীভাবে এমুলেটর ব্যবহার করছেন তার উপর নির্ভর করে, আপনি বিভিন্ন Firebase প্রজেক্ট আইডি ব্যবহার করে একটি এমুলেটরের একাধিক ইনস্ট্যান্স চালাতে পারেন, অথবা একটি নির্দিষ্ট প্রজেক্ট আইডির জন্য একাধিক এমুলেটর ইনস্ট্যান্স চালাতে পারেন। এই ধরনের ক্ষেত্রে, এমুলেটর ইনস্ট্যান্সগুলো একটি পৃথক পরিবেশে চলে।

সাধারণত সমস্ত এমুলেটর ব্যবহারের জন্য একটিই প্রজেক্ট আইডি সেট করা একটি ভালো অভ্যাস, যাতে Emulator Suite UI , বিভিন্ন প্রোডাক্টের এমুলেটর এবং একটি নির্দিষ্ট এমুলেটরের চলমান সমস্ত ইনস্ট্যান্স সব ক্ষেত্রে সঠিকভাবে যোগাযোগ করতে পারে।

Local Emulator Suite এনভায়রনমেন্টে একাধিক প্রজেক্ট আইডি শনাক্ত করলে সতর্কবার্তা জারি করে, তবে আপনি আপনার firebase.json ফাইলে singleProjectMode কী-টির মান false সেট করে এই আচরণটি অগ্রাহ্য করতে পারেন।

আপনি প্রজেক্ট আইডি ঘোষণাপত্রগুলিতে কোনো অমিল আছে কিনা তা নিম্নলিখিতগুলিতে পরীক্ষা করতে পারেন:

  • কমান্ড লাইনের ডিফল্ট প্রজেক্ট। ডিফল্টরূপে, স্টার্টআপের সময় firebase init বা firebase use দিয়ে নির্বাচিত প্রজেক্ট থেকে প্রজেক্ট আইডি নেওয়া হবে। প্রজেক্টের তালিকা দেখতে (এবং কোনটি নির্বাচিত আছে তা জানতে) firebase projects:list ব্যবহার করুন।
  • রুলস ইউনিট টেস্ট। রুলস ইউনিট টেস্টিং লাইব্রেরির initializeTestEnvironment বা initializeTestApp মেথডগুলো কল করার সময় প্রায়শই প্রোজেক্ট আইডি উল্লেখ করা হয়।
  • কমান্ড লাইন --project ফ্ল্যাগ। Firebase CLI-তে --project ফ্ল্যাগ ব্যবহার করলে ডিফল্ট প্রজেক্টটি ওভাররাইড হয়ে যায়। ইউনিট টেস্ট এবং অ্যাপ ইনিশিয়ালাইজেশনের সময় আপনাকে নিশ্চিত করতে হবে যেন ফ্ল্যাগের মানটি প্রজেক্ট আইডির সাথে মেলে।

আপনার Apple প্ল্যাটফর্ম , Android এবং ওয়েব প্রজেক্ট কনফিগার করার সময় সেট করা প্ল্যাটফর্ম-নির্দিষ্ট প্রজেক্ট আইডি কনফিগারেশনগুলোও যাচাই করুন।

নিরাপত্তা নিয়ম কনফিগারেশন

এমুলেটরগুলো firebase.json এ থাকা database , firestore এবং storage configuration কীগুলো থেকে Security Rules-এর কনফিগারেশন গ্রহণ করবে।

{
  // Existing firebase configuration ...
  "database": {
    "rules": "database.rules.json"
  },
  "firestore": {
    "rules": "firestore.rules"
  },
  "storage": {
    "rules": "storage.rules"
  }

  // ...

  // Optional emulator configuration. Default
  // values are used if absent.
  "emulators": {
    "singleProjectMode": false, // do not warn on detection of multiple project IDs
    "firestore": {
      "port": "8080"
    },
    "ui": {
      "enabled": true,      // Default is `true`
      "port": 4000          // If unspecified, see CLI log for selected port
    },
    "auth": {
      "port": "9099"
    },
    "pubsub": {
      "port": "8085"
    }
  }
}

জাভা বিকল্পগুলি নির্দিষ্ট করা

Realtime Database এমুলেটর, Cloud Firestore এমুলেটর এবং Cloud Storage for Firebase এমুলেটরের একটি অংশ জাভার উপর ভিত্তি করে তৈরি, যা JAVA_TOOL_OPTIONS এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে JVM ফ্ল্যাগ ব্যবহার করে কাস্টমাইজ করা যায়।

উদাহরণস্বরূপ, যদি আপনি জাভা হিপ স্পেস সম্পর্কিত ত্রুটির সম্মুখীন হন, তাহলে আপনি সর্বোচ্চ জাভা হিপ সাইজ বাড়িয়ে ৪ জিবি করতে পারেন:

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

একাধিক ফ্ল্যাগ উদ্ধৃতি চিহ্নের মধ্যে স্পেস দিয়ে আলাদা করে উল্লেখ করা যেতে পারে, যেমন JAVA_TOOL_OPTIONS="-Xms2g -Xmx4g" । এই ফ্ল্যাগগুলো শুধুমাত্র এমুলেটরের জাভা-ভিত্তিক উপাদানগুলোকে প্রভাবিত করে এবং Firebase CLI-এর অন্যান্য অংশ, যেমন Emulator Suite UI উপর কোনো প্রভাব ফেলে না।

এমুলেটর চালু করুন

আপনি এমুলেটরগুলোকে ম্যানুয়ালি বন্ধ না করা পর্যন্ত চালু রাখতে পারেন, অথবা একটি নির্দিষ্ট টেস্ট স্ক্রিপ্টের সময়কাল পর্যন্ত চালিয়ে স্বয়ংক্রিয়ভাবে বন্ধ করার জন্য সেট করতে পারেন।

আদেশ বর্ণনা
এমুলেটর:শুরু firebase.json এ কনফিগার করা Firebase প্রোডাক্টগুলোর জন্য এমুলেটরগুলো চালু করুন। এমুলেটর প্রসেসগুলো স্পষ্টভাবে বন্ধ না করা পর্যন্ত চলতে থাকবে। যদি এমুলেটরগুলো আগে থেকে ইনস্টল করা না থাকে, তাহলে emulators:start কল করলে সেগুলো ~/.cache/firebase/emulators/ ফোল্ডারে ডাউনলোড হয়ে যাবে।
পতাকা বর্ণনা
--only ঐচ্ছিক। কোন কোন এমুলেটর চালু হবে তা সীমিত করুন। কমা দিয়ে আলাদা করা এমুলেটরের নামগুলোর একটি তালিকা দিন এবং এর সাথে 'auth', 'database', 'firestore', 'functions', 'hosting', বা 'pubsub'-এর মধ্যে এক বা একাধিক উল্লেখ করুন।
--inspect-functions debug_port ঐচ্ছিক। নির্দিষ্ট পোর্টে (অথবা আর্গুমেন্ট বাদ দিলে ডিফল্ট পোর্ট ৯২২৯-এ) ফাংশনগুলির ব্রেকপয়েন্ট ডিবাগিং সক্ষম করতে Cloud Functions এমুলেটরের সাথে এটি ব্যবহার করুন। উল্লেখ্য যে, এই ফ্ল্যাগটি সরবরাহ করা হলে, Cloud Functions এমুলেটর একটি বিশেষ সিরিয়ালাইজড এক্সিকিউশন মোডে চলে যায়, যেখানে ফাংশনগুলি একটি একক প্রসেসে, ক্রমানুসারে (FIFO) এক্সিকিউট হয়; এটি ফাংশন ডিবাগিংকে সহজ করে, যদিও এর আচরণ ক্লাউডে ফাংশনগুলির মাল্টি-প্রসেস, প্যারালাল এক্সিকিউশন থেকে ভিন্ন।
--export-on-exit= ঐচ্ছিক। Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটরের সাথে ব্যবহার করুন। emulators:export কমান্ডের জন্য বর্ণিত পদ্ধতি অনুযায়ী, শাটডাউনের সময় একটি ডিরেক্টরিতে ডেটা এক্সপোর্ট করার জন্য এমুলেটর(গুলি)কে নির্দেশ দিন। এই ফ্ল্যাগটি ব্যবহার করে এক্সপোর্ট ডিরেক্টরি নির্দিষ্ট করা যেতে পারে: firebase emulators:start --export-on-exit=./saved-data । যদি --import ব্যবহার করা হয়, তাহলে এক্সপোর্ট পাথ ডিফল্টভাবে একই থাকবে; উদাহরণস্বরূপ: firebase emulators:start --import=./data-path --export-on-exit । সবশেষে, যদি চান, --import এবং --export-on-exit ফ্ল্যাগগুলিতে ভিন্ন ভিন্ন ডিরেক্টরি পাথ পাস করতে পারেন।
--import= import_directory ঐচ্ছিক। Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটরের সাথে ব্যবহার করুন। --export-on-exit স্টার্টআপ অপশন অথবা emulators:export কমান্ড ব্যবহার করে সংরক্ষিত ডেটা একটি চলমান Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটর ইনস্ট্যান্সে ইম্পোর্ট করুন। এমুলেটরের মেমরিতে বর্তমানে থাকা যেকোনো ডেটা ওভাররাইট হয়ে যাবে।
--log-verbosity= verbosity ঐচ্ছিক। কনসোল এবং লগ ফাইলে অপ্রয়োজনীয় তথ্য কমানোর জন্য এমুলেটর থেকে লগিং আউটপুটের পরিমাণ হ্রাস করে। বৈধ মানগুলো হলো DEBUG, INFO, QUIET, SILENT।
এমুলেটর:এক্সিক scriptpath firebase.json এ কনফিগার করা Firebase প্রোডাক্টগুলোর জন্য এমুলেটর চালু করার পর scriptpath এ থাকা স্ক্রিপ্টটি চালান। স্ক্রিপ্টটির চালানো শেষ হলে এমুলেটর প্রসেসগুলো স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে।
পতাকা বর্ণনা
--only ঐচ্ছিক। কোন কোন এমুলেটর চালু হবে তা সীমিত করুন। কমা দিয়ে আলাদা করা এমুলেটরের নামগুলোর একটি তালিকা দিন এবং এর সাথে 'firestore', 'database', 'functions', 'hosting', বা 'pubsub'-এর মধ্যে এক বা একাধিক উল্লেখ করুন।
--inspect-functions debug_port ঐচ্ছিক। নির্দিষ্ট পোর্টে (অথবা আর্গুমেন্ট বাদ দিলে ডিফল্ট পোর্ট ৯২২৯-এ) ফাংশনগুলির ব্রেকপয়েন্ট ডিবাগিং সক্ষম করতে Cloud Functions এমুলেটরের সাথে এটি ব্যবহার করুন। উল্লেখ্য যে, এই ফ্ল্যাগটি সরবরাহ করা হলে, Cloud Functions এমুলেটর একটি বিশেষ সিরিয়ালাইজড এক্সিকিউশন মোডে চলে যায়, যেখানে ফাংশনগুলি একটি একক প্রসেসে, ক্রমানুসারে (FIFO) এক্সিকিউট হয়; এটি ফাংশন ডিবাগিংকে সহজ করে, যদিও এর আচরণ ক্লাউডে ফাংশনগুলির মাল্টি-প্রসেস, প্যারালাল এক্সিকিউশন থেকে ভিন্ন।
--export-on-exit= ঐচ্ছিক। Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটরের সাথে ব্যবহার করুন। emulators:export কমান্ডের জন্য বর্ণিত পদ্ধতি অনুযায়ী, শাটডাউনের সময় একটি ডিরেক্টরিতে ডেটা এক্সপোর্ট করার জন্য এমুলেটর(গুলি)কে নির্দেশ দিন। এই ফ্ল্যাগটি ব্যবহার করে এক্সপোর্ট ডিরেক্টরি নির্দিষ্ট করা যেতে পারে: firebase emulators:start --export-on-exit=./saved-data । যদি --import ব্যবহার করা হয়, তাহলে এক্সপোর্ট পাথ ডিফল্টভাবে একই থাকবে; উদাহরণস্বরূপ: firebase emulators:start --import=./data-path --export-on-exit । সবশেষে, যদি চান, --import এবং --export-on-exit ফ্ল্যাগগুলিতে ভিন্ন ভিন্ন ডিরেক্টরি পাথ পাস করতে পারেন।
--import= import_directory ঐচ্ছিক। Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটরের সাথে ব্যবহার করুন। --export-on-exit স্টার্টআপ অপশন অথবা emulators:export কমান্ড ব্যবহার করে সংরক্ষিত ডেটা একটি চলমান Authentication , Cloud Firestore , Realtime Database বা Cloud Storage for Firebase এমুলেটর ইনস্ট্যান্সে ইম্পোর্ট করুন। এমুলেটরের মেমরিতে বর্তমানে থাকা যেকোনো ডেটা ওভাররাইট হয়ে যাবে।
--ui ঐচ্ছিক। এক্সিকিউশন চলাকালীন এমুলেটর UI চালু করুন।
--log-verbosity= verbosity ঐচ্ছিক। কনসোল এবং লগ ফাইলে অপ্রয়োজনীয় তথ্য কমানোর জন্য এমুলেটর থেকে লগিং আউটপুটের পরিমাণ হ্রাস করে। বৈধ মানগুলো হলো DEBUG, INFO, QUIET, SILENT।

কন্টিনিউয়াস ইন্টিগ্রেশন ওয়ার্কফ্লোর জন্য firebase emulators:exec মেথডটি সাধারণত বেশি উপযুক্ত।

এমুলেটর ডেটা রপ্তানি এবং আমদানি করুন

আপনি Authentication , Cloud Firestore , Realtime Database এবং Cloud Storage for Firebase এমুলেটরগুলো থেকে ডেটা এক্সপোর্ট করে একটি শেয়ারযোগ্য, সাধারণ বেসলাইন ডেটা সেট হিসেবে ব্যবহার করতে পারেন। উপরে বর্ণিত পদ্ধতি অনুযায়ী, এই ডেটা সেটগুলো --import ফ্ল্যাগ ব্যবহার করে ইম্পোর্ট করা যায়।

এমুলেটর:এক্সপোর্ট export_directory

Authentication , Cloud Firestore , Realtime Database অথবা Cloud Storage for Firebase এমুলেটর । একটি চলমান Cloud Firestore , Realtime Database অথবা Cloud Storage for Firebase এমুলেটর ইনস্ট্যান্স থেকে ডেটা এক্সপোর্ট করুন। নির্দিষ্ট export_directory আগে থেকে বিদ্যমান না থাকলে তৈরি করা হবে। যদি নির্দিষ্ট ডিরেক্টরিটি বিদ্যমান থাকে, তাহলে পূর্ববর্তী এক্সপোর্ট ডেটা ওভাররাইট করা হবে কিনা তা নিশ্চিত করার জন্য আপনাকে একটি প্রম্পট দেখানো হবে। আপনি --force ফ্ল্যাগ ব্যবহার করে এই প্রম্পটটি এড়িয়ে যেতে পারেন। এক্সপোর্ট ডিরেক্টরিতে firebase-export-metadata.json একটি ডেটা ম্যানিফেস্ট ফাইল থাকে।

উপরে বর্ণিত --export-on-exit ফ্ল্যাগ ব্যবহার করে আপনি এমুলেটরগুলোকে বন্ধ হওয়ার সময় স্বয়ংক্রিয়ভাবে ডেটা এক্সপোর্ট করার নির্দেশ দিতে পারেন।

আপনার CI সিস্টেমের সাথে একীভূত করুন

কন্টেইনারাইজড এমুলেটর স্যুট ইমেজ চালানো হচ্ছে

একটি সাধারণ CI সেটআপে কন্টেইনার সহ এমুলেটর স্যুটের ইনস্টলেশন এবং কনফিগারেশন বেশ সহজ।

কয়েকটি বিষয় লক্ষণীয়:

  • JAR ফাইলগুলি ~/.cache/firebase/emulators/ -এ ইনস্টল এবং ক্যাশ করা হয়।

    • বারবার ডাউনলোড এড়ানোর জন্য আপনি এই পাথটি আপনার CI ক্যাশ কনফিগারেশনে যোগ করতে পারেন।
  • আপনার রিপোজিটরিতে যদি firebase.json ফাইল না থাকে, তাহলে কোন এমুলেটরগুলো চালু করা হবে তা নির্দিষ্ট করার জন্য আপনাকে emulators:start অথবা emulators:exec কমান্ডে একটি কমান্ড লাইন আর্গুমেন্ট যোগ করতে হবে। উদাহরণস্বরূপ,
    --only functions,firestore

একটি অথোরাইজেশন টোকেন তৈরি করুন (শুধুমাত্র হোস্টিং এমুলেটরের জন্য)

আপনার কন্টিনিউয়াস ইন্টিগ্রেশন ওয়ার্কফ্লো যদি Firebase Hosting উপর নির্ভরশীল হয়, তাহলে firebase emulators:exec চালানোর জন্য আপনাকে একটি টোকেন ব্যবহার করে লগ ইন করতে হবে। অন্যান্য এমুলেটরগুলোর জন্য লগ ইনের প্রয়োজন হয় না।

একটি টোকেন তৈরি করতে, আপনার লোকাল এনভায়রনমেন্টে firebase login:ci চালান; এটি কোনো CI সিস্টেম থেকে করা উচিত নয়। প্রমাণীকরণের জন্য নির্দেশাবলী অনুসরণ করুন। প্রতিটি প্রজেক্টের জন্য এই ধাপটি কেবল একবারই করতে হবে, কারণ টোকেনটি সমস্ত বিল্ড জুড়ে বৈধ থাকবে। টোকেনটিকে পাসওয়ার্ডের মতো ব্যবহার করা উচিত; এটি যেন গোপন থাকে তা নিশ্চিত করুন।

যদি আপনার CI এনভায়রনমেন্টে বিল্ড স্ক্রিপ্টে ব্যবহার করার জন্য এনভায়রনমেন্ট ভেরিয়েবল নির্দিষ্ট করার সুযোগ থাকে, তাহলে FIREBASE_TOKEN নামে একটি এনভায়রনমেন্ট ভেরিয়েবল তৈরি করুন এবং এর ভ্যালু হিসেবে অ্যাক্সেস টোকেন স্ট্রিংটি দিন। Firebase CLI স্বয়ংক্রিয়ভাবে FIREBASE_TOKEN এনভায়রনমেন্ট ভেরিয়েবলটি গ্রহণ করবে এবং এমুলেটরগুলো সঠিকভাবে চালু হবে।

শেষ উপায় হিসেবে, আপনি আপনার বিল্ড স্ক্রিপ্টে টোকেনটি অন্তর্ভুক্ত করতে পারেন, তবে নিশ্চিত করুন যে অবিশ্বস্ত পক্ষগুলোর যেন এতে অ্যাক্সেস না থাকে। এই হার্ড-কোডেড পদ্ধতির জন্য, আপনি firebase emulators:exec কমান্ডে --token "YOUR_TOKEN_STRING_HERE" যোগ করতে পারেন।

Emulator Hub REST API ব্যবহার করুন

চলমান এমুলেটরগুলির তালিকা

বর্তমানে চলমান এমুলেটরগুলির তালিকা দেখতে, এমুলেটর হাবের /emulators এন্ডপয়েন্টে একটি GET অনুরোধ পাঠান।

curl localhost:4400/emulators

ফলাফলটি একটি JSON অবজেক্ট হবে, যেখানে চলমান সমস্ত এমুলেটর এবং তাদের হোস্ট/পোর্ট কনফিগারেশনের তালিকা থাকবে, উদাহরণস্বরূপ:

{
  "hub":{
    "name": "hub",
    "host": "localhost",
    "port": 4400
  },
  "functions": {
    "name": "functions",
    "host": "localhost",
    "port": 5001
  }
  "firestore": {
    "name": "firestore",
    "host": "localhost",
    "port": 8080
  }
}

ব্যাকগ্রাউন্ড ফাংশন ট্রিগার সক্রিয় / নিষ্ক্রিয় করুন

কিছু পরিস্থিতিতে আপনাকে সাময়িকভাবে স্থানীয় ফাংশন এবং এক্সটেনশন ট্রিগারগুলি নিষ্ক্রিয় করতে হতে পারে। উদাহরণস্বরূপ, আপনি Cloud Functions বা Extensions এমুলেটরগুলিতে চলমান কোনো onDelete ফাংশন ট্রিগার না করেই Cloud Firestore এমুলেটরের সমস্ত ডেটা মুছে ফেলতে চাইতে পারেন।

স্থানীয় ফাংশন ট্রিগারগুলো সাময়িকভাবে নিষ্ক্রিয় করতে, এমুলেটর হাবের /functions/disableBackgroundTriggers এন্ডপয়েন্টে একটি PUT রিকোয়েস্ট পাঠান।

curl -X PUT localhost:4400/functions/disableBackgroundTriggers

ফলাফলটি একটি JSON অবজেক্ট হবে, যেখানে বর্তমান অবস্থার বিস্তারিত বিবরণ থাকবে।

{
  "enabled": false
}

লোকাল ফাংশন ট্রিগারগুলো নিষ্ক্রিয় করার পর পুনরায় সক্রিয় করতে, এমুলেটর হাবের /functions/enableBackgroundTriggers এন্ডপয়েন্টে একটি PUT রিকোয়েস্ট পাঠান।

curl -X PUT localhost:4400/functions/enableBackgroundTriggers

ফলাফলটি একটি JSON অবজেক্ট হবে, যেখানে বর্তমান অবস্থার বিস্তারিত বিবরণ থাকবে।

{
  "enabled": true
}

এমুলেটর এসডিকে ইন্টিগ্রেশন

এই বিভাগের সারণিগুলো নির্দেশ করে যে ক্লায়েন্ট এবং অ্যাডমিন এসডিকে দ্বারা কোন কোন এমুলেটর সমর্থিত। ‘ভবিষ্যৎ’ বলতে বোঝায় যে এমুলেটর সমর্থনের পরিকল্পনা রয়েছে, কিন্তু তা এখনও উপলব্ধ নয়।

ক্লায়েন্ট SDK উপলব্ধতা

অ্যান্ড্রয়েড অ্যাপল প্ল্যাটফর্ম ওয়েব ফায়ারবেস UI
অ্যান্ড্রয়েড
ফায়ারবেস UI
আইওএস
ফায়ারবেস UI
ওয়েব
Realtime Database ১৯.৪.০ ৭.২.০ ৮.০.০ ৬.৪.০ ভবিষ্যৎ প্রযোজ্য নয়
Cloud Firestore ২১.৬.০ ৭.২.০ ৮.০.০ ৬.৪.০ ভবিষ্যৎ প্রযোজ্য নয়
Authentication ২০.০.০ ৭.০.০ ৮.০.০ ৭.০.০ ভবিষ্যৎ ৪.৭.২
Cloud Storage for Firebase ২০.০.০ ৮.০.০ ৮.৪.০ ৭.০.০ ১১.০.০ প্রযোজ্য নয়
Cloud Functions ১৯.১.০ ৭.২.০ ৮.০.০ প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়
Hosting প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়
Extensions প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়

অ্যাডমিন এসডিকে প্রাপ্যতা

নোড জাভা পাইথন যান
Realtime Database ৮.৬.০ ৬.১০.০ ২.১৮.০ ভবিষ্যৎ
Cloud Firestore ৮.০.০ ৬.১০.০ ৩.০.০ ১.০.০
Authentication ৯.৩.০ ৭.২.০ ৫.০.০ ৪.২.০
Cloud Storage for Firebase ৯.৮.০ ভবিষ্যৎ ভবিষ্যৎ ভবিষ্যৎ
Cloud Functions প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়
Hosting প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়
Extensions প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয় প্রযোজ্য নয়