Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

আপনার অ্যাপ্লিকেশনটিকে ক্লাউড স্টোরেজ এমুলেটরের সাথে সংযুক্ত করুন

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

একটি Firebase প্রজেক্ট বেছে নিন

ফায়ারবেস স্থানীয় এমুলেটর স্যুট একটি একক ফায়ারবেস প্রকল্পের জন্য পণ্য অনুকরণ করে।

ব্যবহারের প্রকল্পের নির্বাচন করতে, আগে আপনি, emulators শুরু CLI রান firebase use আপনার কাজের ডিরেক্টরির মধ্যে। অথবা, আপনি পাস করতে পারেন --project প্রতিটি এমুলেটর কমান্ড পতাকা।

স্থানীয় এমুলেটর সুইট বাস্তব Firebase প্রকল্প এবং ডেমো প্রকল্পের এমুলেশন সমর্থন করে।

প্রকল্পের ধরন বৈশিষ্ট্য এমুলেটর দিয়ে ব্যবহার করুন
বাস্তব

একটি বাস্তব ফায়ারবেস প্রকল্প হল আপনার তৈরি এবং কনফিগার করা (সম্ভবত ফায়ারবেস কনসোলের মাধ্যমে)।

বাস্তব প্রকল্পের লাইভ রিসোর্স আছে, যেমন ডাটাবেস ইন্সট্যান্স, স্টোরেজ বালতি, ফাংশন, অথবা অন্য কোন রিসোর্স যা আপনি ফায়ারবেস প্রজেক্টের জন্য সেট আপ করেছেন।

আসল ফায়ারবেস প্রকল্পগুলির সাথে কাজ করার সময়, আপনি যে কোনও বা সমস্ত সমর্থিত পণ্যের জন্য এমুলেটর চালাতে পারেন।

কোনো পণ্য আপনি এমুলেট নি, সেগুলির জন্য আপনার অ্যাপ্লিকেশান এবং কোড লাইভ রিসোর্স (ডাটাবেস ইনস্ট্যান্স, সঞ্চয় বালতি, ফাংশন, ইত্যাদি) সাথে ইন্টারঅ্যাক্ট হবে।

ডেমো

একটি ডেমো Firebase প্রকল্পের কোনো সত্যিকারের Firebase কনফিগারেশন এবং কোনো লাইভ সম্পদ আছে। এই প্রকল্পগুলি সাধারণত কোডল্যাব বা অন্যান্য টিউটোরিয়ালের মাধ্যমে অ্যাক্সেস করা হয়।

ডেমো প্রকল্পগুলির জন্য প্রকল্প ID উপস্থিত রয়েছে demo- উপসর্গ।

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

আমরা আপনাকে যেখানেই সম্ভব ডেমো প্রকল্প ব্যবহার করার পরামর্শ দিই। সুবিধাগুলির মধ্যে রয়েছে:

  • সহজ সেটআপ, যেহেতু আপনি কখনও ফায়ারবেস প্রকল্প তৈরি না করে এমুলেটর চালাতে পারেন
  • শক্তিশালী নিরাপত্তা, যেহেতু আপনার কোড যদি ভুলক্রমে নন-ইমুলেটেড (উৎপাদন) সম্পদ আহ্বান করে, তাহলে ডেটা পরিবর্তন, ব্যবহার এবং বিলিংয়ের কোন সুযোগ নেই
  • ভাল অফলাইন সমর্থন, যেহেতু আপনার SDK কনফিগারেশন ডাউনলোড করার জন্য ইন্টারনেট অ্যাক্সেস করার প্রয়োজন নেই।

এমুলেটরদের সাথে কথা বলার জন্য আপনার অ্যাপটি ইনস্ট্রুমেন্ট করুন

অ্যান্ড্রয়েড, আইওএস এবং ওয়েব এসডিকে

নিম্নরূপ ক্লাউড স্টোরেজ এমুলেটরের সাথে ইন্টারঅ্যাক্ট করার জন্য আপনার ইন-অ্যাপ কনফিগারেশন বা পরীক্ষার ক্লাস সেট আপ করুন।

অ্যান্ড্রয়েড
FirebaseStorage.getInstance().useEmulator('10.0.2.2', 9199);
iOS - সুইফট
Storage.storage().useEmulator(withHost:"localhost", port:9199)
ওয়েব v8
var storage = firebase.storage();
storage.useEmulator("localhost", 9199);
ওয়েব v9 (বিটা)
import { getStorage, useStorageEmulator } from "firebase/storage";

const storage = getStorage();
connectStorageEmulator(storage, "localhost", 9199);

কোন অতিরিক্ত সেটআপ ক্লাউড ফাংশন পরীক্ষা করার প্রয়োজন হয় ক্লাউড স্টোরেজ ঘটনা দ্বারা আলোড়ন সৃষ্টি এমুলেটর ব্যবহার করে। যখন ক্লাউড স্টোরেজ এবং ক্লাউড ফাংশন এমুলেটর দুটোই চলমান থাকে, তখন তারা স্বয়ংক্রিয়ভাবে একসাথে কাজ করে।

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

যখন Firebase এডমিন SDK আছে স্বয়ংক্রিয়ভাবে ক্লাউড স্টোরেজ এমুলেটর সাথে সংযোগ FIREBASE_STORAGE_EMULATOR_HOST এনভায়রনমেন্ট ভেরিয়েবল সেট করা হয়:

export FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"

উল্লেখ্য যে ক্লাউড ফাংশন এমুলেটর স্বয়ংক্রিয়ভাবে ক্লাউড স্টোরেজ এমুলেটর সম্পর্কে সচেতন তাই ক্লাউড ফাংশন এবং ক্লাউড স্টোরেজ এমুলেটরগুলির মধ্যে ইন্টিগ্রেশন পরীক্ষা করার সময় আপনি এই ধাপটি এড়িয়ে যেতে পারেন। পরিবেশ পরিবর্তনশীল স্বয়ংক্রিয়ভাবে ক্লাউড স্টোরেজে অ্যাডমিন এসডিকে সেট করা হবে।

অন্য কোন পরিবেশ থেকে ক্লাউড স্টোরেজ এমুলেটরের সাথে সংযোগ করার সময়, আপনাকে একটি প্রকল্প আইডি নির্দিষ্ট করতে হবে। আপনি জন্য একটি প্রকল্প আইডি পাস করতে পারেন initializeApp সরাসরি বা সেট GCLOUD_PROJECT এনভায়রনমেন্ট ভেরিয়েবল। মনে রাখবেন যে আপনার আসল ফায়ারবেস প্রকল্প আইডি ব্যবহার করার প্রয়োজন নেই; ক্লাউড স্টোরেজ এমুলেটর যতদিন এটি একটি হয়েছে যেমন কোনো প্রকল্পের আইডি গ্রহণ করবে, বৈধ বিন্যাস

Node.js অ্যাডমিন এসডিকে
admin.initializeApp({ projectId: "your-project-id" });
পরিবেশ সূচক
export GCLOUD_PROJECT="your-project-id"

আমদানি এবং রপ্তানি তথ্য

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

firebase emulators:export ./dir

পরীক্ষায়, এমুলেটর প্রারম্ভে, বেসলাইন ডেটা আমদানি করুন।

firebase emulators:start --import=./dir

আপনি শাটডাউনে রপ্তানি ডেটাতে এমুলেটর নির্দেশ করতে পারেন, পারেন রপ্তানি পথ উল্লেখ বা শুধু পথ প্রেরণ ব্যবহার --import পতাকা।

firebase emulators:start --import=./dir --export-on-exit

এই তথ্য আমদানি ও রপ্তানি অপশন নিয়ে কাজ firebase emulators:exec পাশাপাশি কমান্ড। আরো জানার জন্য, পড়ুন এমুলেটর কমান্ড রেফারেন্স

কিভাবে ক্লাউড স্টোরেজ এমুলেটর উৎপাদন থেকে আলাদা

ক্লায়েন্ট অ্যাপ পরীক্ষা করার জন্য, ক্লাউড স্টোরেজ এমুলেটর ফায়ারবেস এপিআই সারফেস এরিয়া সম্পর্কে প্রায় পুরোপুরি উৎপাদনের সাথে সামঞ্জস্যপূর্ণ। সমস্ত ফায়ারবেস কমান্ডগুলি নিয়মিত ফায়ারবেস এসডিকে (ওয়েব, অ্যান্ড্রয়েড এবং আইওএস) এর মধ্যে কাজ করবে বলে আশা করা হচ্ছে।

সার্ভার-সাইড অ্যাপস পরীক্ষার জন্য, সীমাবদ্ধতা বিদ্যমান। ফায়ারবেস অ্যাডমিন এসডিকেগুলি গুগল ক্লাউড এপিআই সারফেস ব্যবহার করে, এবং এই এপিআইয়ের সমস্ত এন্ডপয়েন্টগুলি অনুকরণ করা হয় না। একটি নিয়ম হিসাবে, ক্লায়েন্ট এসডিকে (ফাইল আপলোড বা মুছে ফেলা, মেটাডেটা পাওয়া এবং সেট করা) থেকে যা করা যায় তা অ্যাডমিন এসডিকে থেকে ব্যবহারের জন্য প্রয়োগ করা হয়, কিন্তু এর বাইরে কিছু নয়। উল্লেখযোগ্য বর্জন নীচে তালিকাভুক্ত করা হয়েছে।

ক্লাউড আইএএম

ফায়ারবেস এমুলেটর স্যুট চালানোর জন্য আইএএম-সম্পর্কিত কোনো আচরণ প্রতিলিপি বা সম্মান করার চেষ্টা করে না। এমুলেটররা প্রদত্ত ফায়ারবেস সিকিউরিটি রুলস মেনে চলে, কিন্তু এমন পরিস্থিতিতে যেখানে সাধারণত IAM ব্যবহার করা হবে, যেমন ক্লাউড ফাংশন সেট করার জন্য সার্ভিস অ্যাকাউন্ট এবং এইভাবে অনুমতি, এমুলেটর কনফিগার করা যায় না এবং আপনার ডেভেলপার মেশিনে বিশ্বব্যাপী উপলব্ধ অ্যাকাউন্ট ব্যবহার করবে, সরাসরি একটি স্থানীয় স্ক্রিপ্ট চালানোর অনুরূপ।

পাব/সাব বিজ্ঞপ্তি

ক্লাউড স্টোরেজ এমুলেটর ক্লাউড পাব/সাব এমুলেটরের সাথে একীভূত হয় না এবং এইভাবে স্টোরেজ অবজেক্ট পরিবর্তনের জন্য চ্যানেল/বিজ্ঞপ্তি তৈরি সমর্থন করে না। আমরা ক্লাউড ফাংশন স্টোরেজ ট্রিগার সরাসরি ব্যবহার করার পরামর্শ দিই।

বালতি স্তরের মেটাডেটা

ক্লাউড স্টোরেজ এমুলেটর স্টোরেজ ক্লাস, বালতি-স্তরের CORS কনফিগারেশন, লেবেল, বা ধারণ নীতি সহ কোন বালতি-স্তরের কনফিগারেশন সমর্থন করে না। ফায়ারবেস সময়ের সাথে এই সমর্থন উন্নত করতে চায়।

তারপর কি?

  • ভিডিওগুলির একটি প্লেলিস্টে যোগ করা সেট এবং বিস্তারিত উদাহরণগুলির কীভাবে জন্য, অনুসরণ Firebase emulators প্রশিক্ষণ প্লেলিস্ট
  • যেহেতু আলোড়ন সৃষ্টি ফাংশন ক্লাউড স্টোরেজ সঙ্গে একটি টিপিক্যাল ইন্টিগ্রেশন হয়, এ Firebase এমুলেটর জন্য মেঘ কার্যাবলী সম্পর্কে আরো জানতে স্থানীয়ভাবে রান ফাংশন