একটি Firebase প্রকল্প আসলে কেবল একটি Google Cloud প্রকল্প যার জন্য অতিরিক্ত Firebase-নির্দিষ্ট কনফিগারেশন এবং পরিষেবা সক্ষম করা থাকে। এর অর্থ হল Cloud Storage for Firebase এর সাথে আপনি যে প্রতিটি Cloud Storage বাকেট ব্যবহার করেন তা Google Cloud (এর কনসোল এবং এর API সহ) অ্যাক্সেসযোগ্য।
Google Cloud সাথে ইন্টিগ্রেশন করার জন্য, বিদ্যমান Cloud Storage বাকেট আমদানি সহ, পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যানে একটি ফায়ারবেস প্রকল্প প্রয়োজন।
পরিষেবা অ্যাকাউন্টের জন্য বিবেচনার বিষয়গুলি
 ব্যবহারকারীর শংসাপত্র ভাগ না করেই পরিষেবা পরিচালনা এবং পরিচালনা করার জন্য Firebase Google Cloud পরিষেবা অ্যাকাউন্ট ব্যবহার করে। যখন আপনি Cloud Storage ব্যবহার করে এমন একটি Firebase প্রকল্প তৈরি করেন, তখন আপনি লক্ষ্য করতে পারেন যে আপনার প্রকল্পে ইতিমধ্যেই একটি সংশ্লিষ্ট পরিষেবা অ্যাকাউন্ট উপলব্ধ রয়েছে: 
Google Cloud Storage
Cloud Storage জন্য Firebase SDK-এর মাধ্যমে আপলোড করা ফাইলগুলি অ্যাক্সেস করার জন্য আপনি Google Cloud Storage API ব্যবহার করতে পারেন, বিশেষ করে আরও জটিল ক্রিয়াকলাপ সম্পাদন করার জন্য, যেমন একটি ফাইল অনুলিপি করা বা সরানো, অথবা একটি রেফারেন্সে উপলব্ধ সমস্ত ফাইল তালিকাভুক্ত করা।
এটা মনে রাখা গুরুত্বপূর্ণ যে এই অনুরোধগুলি Firebase Authentication এবং Cloud Storage Security Rules পরিবর্তে Google Cloud Storage অ্যাক্সেস নিয়ন্ত্রণ বিকল্পগুলি ব্যবহার করে।
এপিআই
 Cloud Storage জন্য Firebase SDK ছাড়াও, আপনার Cloud Storage বাকেটে সংরক্ষিত ডেটা অ্যাক্সেস করার আরও অনেক উপায় রয়েছে, যা আপনি কী করতে চান তার উপর নির্ভর করে। আপনি যদি কোনও সার্ভারে ডেটা অ্যাক্সেস করেন, তাহলে আমরা সার্ভার সাইড লাইব্রেরি, সেইসাথে একটি JSON এবং S3 সামঞ্জস্যপূর্ণ XML RESTful API অফার করি, অথবা যদি আপনার স্ক্রিপ্ট পরিবর্তন বা অন্যান্য প্রশাসনিক কাজ সম্পাদনের প্রয়োজন হয়, তাহলে আমাদের কাছে একটি কমান্ড লাইন টুল রয়েছে যা কাজে আসবে।
Google Cloud সার্ভার SDK গুলি
Google Cloud Cloud Storage সহ বেশ কয়েকটি ক্লাউড পণ্যের জন্য উচ্চ-মানের সার্ভার SDK অফার করে। এই লাইব্রেরিগুলি Node.js , Java , go , Python , PHP এবং Ruby তে উপলব্ধ।
ইনস্টলেশন নির্দেশাবলী, প্রমাণীকরণ এবং সমস্যা সমাধান সহ আরও তথ্যের জন্য, উপরে লিঙ্ক করা প্ল্যাটফর্ম-নির্দিষ্ট ডকুমেন্টেশনটি দেখুন।
Google Cloud Storage SDK ব্যবহারের উদাহরণ নিচে দেখানো হল:
নোড.জেএস
// Require gcloud var gcloud = require('google-cloud'); // Enable Cloud Storage var gcs = gcloud.storage({ projectId: 'grape-spaceship-123', keyFilename: '/path/to/keyfile.json' }); // Reference an existing bucket. var bucket = gcs.bucket('my-existing-bucket'); // Upload a local file to a new file to be created in your bucket. bucket.upload('/photos/zoo/zebra.jpg', function(err, file) { if (!err) { // "zebra.jpg" is now in your bucket. } }); // Download a file from your bucket. bucket.file('giraffe.jpg').download({ destination: '/photos/zoo/giraffe.jpg' }, function(err) {});
জাভা
// Enable Cloud Storage Storage storage = StorageOptions.builder() .authCredentials(AuthCredentials.createForJson(new FileInputStream("/path/to/my/key.json")) .build() .service(); // Upload a local file to a new file to be created in your bucket. InputStream uploadContent = ... BlobId blobId = BlobId.of("my-existing-bucket", "zebra.jpg"); BlobInfo blobInfo = BlobInfo.builder(blobId).contentType("text/plain").build(); Blob zebraBlob = storage.create(blobInfo, content); // Download a file from your bucket. Blob giraffeBlob = storage.get("my-existing-bucket", "giraffe.jpg", null); InputStream downloadContent = giraffeBlob.getInputStream();
যাও
// Enable Cloud Storage client, err := storage.NewClient(ctx, option.WithServiceAccountFile("path/to/keyfile.json")) if err != nil { log.Fatal(err) } // Download a file from your bucket. rc, err := client.Bucket("my-existing-bucket").Object("giraffe.jpg").NewReader(ctx) if err != nil { log.Fatal(err) } defer rc.Close() body, err := ioutil.ReadAll(rc) if err != nil { log.Fatal(err) }
পাইথন
# Import gcloud from google.cloud import storage # Enable Cloud Storage client = storage.Client() # Reference an existing bucket. bucket = client.get_bucket('my-existing-bucket') # Upload a local file to a new file to be created in your bucket. zebraBlob = bucket.get_blob('zebra.jpg') zebraBlob.upload_from_filename(filename='/photos/zoo/zebra.jpg') # Download a file from your bucket. giraffeBlob = bucket.get_blob('giraffe.jpg') giraffeBlob.download_as_string()
পিএইচপি
// Require gcloud require 'vendor/autoload.php'; use Google\Cloud\Storage\StorageClient; // Enable Cloud Storage $storage = new StorageClient([ 'projectId' => 'grape-spaceship-123' ]); // Reference an existing bucket. $bucket = $storage->bucket('my-existing-bucket'); // Upload a file to the bucket. $bucket->upload( fopen('/photos/zoo/zebra.jpg', 'r') ); // Download a file from your bucket. $object = $bucket->object('giraffe.jpg'); $object->downloadToFile('/photos/zoo/giraffe.jpg');
রুবি
# Require gcloud require "google/cloud" # Enable Cloud Storage gcloud = Google::Cloud.new "grape-spaceship-123", "/path/to/keyfile.json" storage = gcloud.storage # Reference an existing bucket. bucket = storage.bucket "my-existing-bucket" # Upload a file to the bucket. bucket.create_file "/photos/zoo/zebra.jpg", "zebra.jpg" # Download a file from your bucket. file = bucket.file "giraffe.jpg" file.download "/photos/zoo/#{file.name}"
REST API
যদি আপনি এমন একটি ভাষা ব্যবহার করেন যার কোন ক্লায়েন্ট লাইব্রেরি নেই, এমন কিছু করতে চান যা ক্লায়েন্ট লাইব্রেরি করে না, অথবা আপনার পছন্দের একটি HTTP ক্লায়েন্ট থাকে যা আপনি ব্যবহার করতে চান, Google Cloud Storage JSON এবং XML উভয়ের জন্য API অফার করে।
এই স্টোরেজ ডেটা অ্যাক্সেস API গুলি ছাড়াও, Firebase প্রকল্পগুলিতে ব্যবহারের জন্য ক্লাউড স্টোরেজ বাকেটগুলি পরিচালনা করতে, আপনি Firebase API এর জন্য ক্লাউড স্টোরেজ ব্যবহার করতে পারেন।
 gsutil
 gsutil হল একটি কমান্ড লাইন টুল যা আপনাকে Cloud Storage সরাসরি অ্যাক্সেস দেয়। আপনি gsutil ব্যবহার করে বিস্তৃত পরিসরের বাকেট এবং অবজেক্ট ম্যানেজমেন্ট কাজ করতে পারেন, যার মধ্যে রয়েছে:
- বস্তু আপলোড, ডাউনলোড এবং মুছে ফেলা।
- বালতি এবং বস্তুর তালিকা তৈরি করা।
- বস্তু সরানো, অনুলিপি করা এবং নাম পরিবর্তন করা।
- অবজেক্ট এবং বাকেট ACL সম্পাদনা করা হচ্ছে।
 gsutil অন্যান্য উন্নত ক্রিয়াকলাপের অনুমতি দেয়, যেমন এক ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে ফাইল স্থানান্তর করা, অথবা একটি নির্দিষ্ট অবস্থানের নীচের সমস্ত ফাইল মুছে ফেলা।
এক রেফারেন্স থেকে অন্য রেফারেন্সে সমস্ত ফাইল সরানো এত সহজ যে:
gsutil mv gs://bucket/old/reference gs://bucket/new/reference
একটি রেফারেন্সের নীচের সমস্ত ফাইল ব্যাচ মুছে ফেলা একইভাবে স্বজ্ঞাত:
# Delete all files under a path gsutil rm -r gs://bucket/reference/to/delete# Delete all the files in a bucket but not the bucket gsutil rm -r gs://bucket/**
# Delete all the files AND the bucket # Removing the default bucket will break the Firebase SDKs for Cloud Storage and is strongly discouraged gsutil rm -r gs://bucket
অনুরোধের হার
Google Cloud Storage একটি অত্যন্ত স্কেলেবল পরিষেবা যা খুব উচ্চ অনুরোধের হার অর্জনের জন্য অটো-স্কেলিং প্রযুক্তি ব্যবহার করে।
Google Cloud Storage একটি মাল্টি-টেন্যান্ট পরিষেবা, যার অর্থ ব্যবহারকারীরা একই ধরণের অন্তর্নিহিত সংস্থান ভাগ করে নেয়। এই ভাগ করা সংস্থানগুলির সর্বোত্তম ব্যবহার করার জন্য, বাকেটগুলির একটি প্রাথমিক IO ক্ষমতা থাকে।
আপনার অ্যাপে Cloud Storage for Firebase ইন্টিগ্রেট করার পরিকল্পনা করার সময়, আপনার অ্যাপের ভালো পারফরম্যান্সের জন্য এবং দক্ষতার সাথে অনুরোধ করার জন্য ন্যূনতম অনুরোধের হার সম্পর্কে চিন্তা করুন। অনুরোধের হার সম্পর্কে নির্দেশিকা পর্যালোচনা করুন, বিশেষ করে অনুরোধের হার বৃদ্ধি করুন ।
অবজেক্ট ভার্সনিং
 আপনি কি কখনও দুর্ঘটনাক্রমে কিছু মুছে ফেলেছেন এবং ব্যাকআপ নেননি? Google Cloud Storage অবজেক্ট ভার্সনিং সমর্থন করে, যা আপনার ডেটা ব্যাকআপ করার এবং সেই ব্যাকআপগুলি থেকে পুনরুদ্ধার করার একটি স্বয়ংক্রিয় উপায় প্রদান করে। আপনি gsutil versioning set কমান্ড ব্যবহার করে অবজেক্ট ভার্সনিং সক্ষম করতে পারেন:
gsutil versioning set on gs://<your-cloud-storage-bucket>
Cloud Storage সর্বদা সাম্প্রতিকতম সংস্করণটি তুলে নেয়, তাই আপনি যদি কোনও বস্তু পুনরুদ্ধার করতে চান, তাহলে আপনাকে উপরের অন্য কোনও API বা সরঞ্জাম ব্যবহার করে পছন্দসই বস্তুটিকে সাম্প্রতিকতম হিসাবে সেট করতে হবে।
অবজেক্ট লাইফসাইকেল ম্যানেজমেন্ট
অনেক অ্যাপ্লিকেশনের জন্য স্বয়ংক্রিয়ভাবে পুরানো ফাইল সংরক্ষণাগারভুক্ত বা মুছে ফেলার ক্ষমতা থাকা একটি কার্যকর বৈশিষ্ট্য। ভাগ্যক্রমে, Google Cloud Storage অবজেক্ট লাইফসাইকেল ম্যানেজমেন্ট প্রদান করে, যা আপনাকে নির্দিষ্ট সময়ের পরে অবজেক্টগুলি মুছে ফেলতে বা সংরক্ষণাগারভুক্ত করতে দেয়।
এমন একটি ফটো শেয়ারিং অ্যাপ্লিকেশন বিবেচনা করুন যেখানে আপনি চান যে সমস্ত ছবি একদিনের মধ্যে মুছে ফেলা হোক। আপনি নিম্নরূপ একটি অবজেক্ট লাইফসাইকেল নীতি সেট আপ করতে পারেন:
// lifecycle.json { "lifecycle": { "rule": [ { "action": {"type": "Delete"}, "condition": {"age": 1} } ] } }
এবং gsutil lifecycle set কমান্ড ব্যবহার করে এটি স্থাপন করুন: 
gsutil lifecycle set lifecycle.json gs://<your-cloud-storage-bucket>
মনে রাখবেন যে এটি বাকেটের সমস্ত ফাইলের ক্ষেত্রে প্রযোজ্য, তাই যদি আপনি গুরুত্বপূর্ণ ব্যবহারকারীর ব্যাকআপগুলি দীর্ঘ সময়ের জন্য সংরক্ষণ করতে চান এবং সেই সাথে প্রতিদিন মুছে ফেলতে চান এমন ফটোগুলিও সংরক্ষণ করেন, তাহলে আপনি দুটি পৃথক বাকেট ব্যবহার করতে পারেন অথবা gsutil অথবা আপনার নিজস্ব সার্ভারের সাহায্যে ম্যানুয়ালি মুছে ফেলতে পারেন।
গুগল ক্লাউড ফাংশন (বিটা)
গুগল ক্লাউড ফাংশনস হল একটি হালকা, ইভেন্ট-ভিত্তিক, অ্যাসিঙ্ক্রোনাস কম্পিউট সলিউশন যা আপনাকে ছোট, একক-উদ্দেশ্য ফাংশন তৈরি করতে দেয় যা কোনও সার্ভার বা রানটাইম পরিবেশ পরিচালনা করার প্রয়োজন ছাড়াই ইভেন্টগুলিতে প্রতিক্রিয়া জানায়। এই ফাংশনগুলি ভিডিও ট্রান্সকোডিং, মেশিন লার্নিং ব্যবহার করে চিত্রগুলি শ্রেণিবদ্ধকরণ, অথবা Firebase Realtime Database সাথে মেটাডেটা সিঙ্ক করার জন্য ব্যবহার করা যেতে পারে। App Engine চেয়েও কম ওভারহেড সহ, ক্লাউড ফাংশনস হল Cloud Storage পরিবর্তনগুলিতে প্রতিক্রিয়া জানানোর দ্রুততম উপায়।
গুগল ক্লাউড ভিশন এপিআই
গুগল ক্লাউড ভিশন এপিআই ডেভেলপারদের একটি সহজে ব্যবহারযোগ্য এপিআইতে শক্তিশালী মেশিন লার্নিং মডেলগুলিকে অন্তর্ভুক্ত করে একটি ছবির বিষয়বস্তু বুঝতে সক্ষম করে। এটি দ্রুত হাজার হাজার বিভাগে ছবিগুলিকে শ্রেণীবদ্ধ করে, ছবির মধ্যে পৃথক বস্তু এবং মুখ সনাক্ত করে, ছবির মধ্যে থাকা মুদ্রিত শব্দগুলি খুঁজে বের করে এবং পড়ে, আপত্তিকর বিষয়বস্তু সনাক্ত করে এবং এমনকি ছবির অনুভূতি বিশ্লেষণও প্রদান করে।
গুগল ক্লাউড স্পিচ এপিআই
ভিশন এপিআই-এর মতোই, গুগল ক্লাউড স্পিচ এপিআই ডেভেলপারদের Cloud Storage সংরক্ষিত অডিও ফাইল থেকে টেক্সট বের করতে সক্ষম করে। এই এপিআই ৮০টিরও বেশি ভাষা এবং রূপকে স্বীকৃতি দেয়, যা আপনার বিশ্বব্যাপী ব্যবহারকারী বেসকে সমর্থন করে। গুগল ক্লাউড ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই-এর সাথে একত্রিত হলে, ডেভেলপাররা কাঁচা টেক্সট বের করতে পারে এবং সেই টেক্সট সম্পর্কে অর্থ অনুমান করতে পারে। এবং যদি বিশ্বব্যাপী দর্শকের প্রয়োজন হয়, তাহলে ৯০+ ভাষায় টেক্সট অনুবাদ করার জন্য এটি গুগল ট্রান্সলেট এপিআই-এর সাথে যুক্ত করুন।
Google App Engine
Google App Engine হল একটি "পরিষেবা হিসেবে প্ল্যাটফর্ম" যা স্বয়ংক্রিয়ভাবে ব্যাকএন্ড লজিককে স্কেল করে যা এটি কত ট্র্যাফিক গ্রহণ করে তার উপর নির্ভর করে। শুধু আপনার ব্যাকএন্ড কোড আপলোড করুন এবং গুগল আপনার অ্যাপের উপলব্ধতা পরিচালনা করবে; আপনার জন্য কোনও সার্ভার সরবরাহ বা রক্ষণাবেক্ষণ করার দরকার নেই। App Engine হল আপনার ফায়ারবেস অ্যাপ্লিকেশনে অতিরিক্ত প্রক্রিয়াকরণ শক্তি বা বিশ্বস্ত সম্পাদন যোগ করার একটি দ্রুত এবং সহজ উপায়।
 যদি আপনার নামের ফর্ম্যাট সহ একটি ডিফল্ট Cloud Storage বাকেট থাকেPROJECT_ID .appspot.com , তাহলে এটি স্বয়ংক্রিয়ভাবে আপনার প্রোজেক্টের একটি App Engine অ্যাপের সাথে শেয়ার হয়ে যাবে। এর মানে হল যে আপনি যদি একটি App Engine অ্যাপ তৈরি করেন, তাহলে আপনি বিল্ট-ইন App Engine API ব্যবহার করে সেই বাকেট এবং App Engine মধ্যে ডেটা শেয়ার করতে পারবেন। এটি অডিও এনকোডিং, ভিডিও ট্রান্সকোডিং এবং ইমেজ ট্রান্সফর্মেশন, সেইসাথে অন্যান্য কম্পিউটেশন ইনটেনসিভ ব্যাকগ্রাউন্ড প্রসেসিং করার জন্য কার্যকর।
App Engine জন্য জাভা, পাইথন এবং গো স্ট্যান্ডার্ড পরিবেশের মধ্যে রয়েছে App Engine ইমেজেস এপিআই ( জাভা | পাইথন | গো ), যা একটি ছবির আকার পরিবর্তন, ঘোরানো, উল্টানো এবং ক্রপ করতে পারে, পাশাপাশি একটি ইমেজ সার্ভিং ইউআরএল ফেরত দেয় যা ক্লায়েন্ট সাইড ট্রান্সফর্মেশনের জন্য অনুমতি দেয়, যেমন ক্লাউডিনারি এবং ইমজিক্স।
 Firebase-এ বিদ্যমান Google Cloud প্রকল্প আমদানি করার সময়, যদি আপনি Firebase-এ বিদ্যমান কোনও App Engine অবজেক্ট উপলব্ধ করতে চান, তাহলে gsutil ব্যবহার করে নিম্নলিখিত কমান্ডটি চালিয়ে Firebase-কে সেগুলি অ্যাক্সেস করার অনুমতি দেওয়ার জন্য আপনার অবজেক্টগুলিতে ডিফল্ট অ্যাক্সেস নিয়ন্ত্রণ সেট করতে হবে: 
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Firebase Security Rules এবং App Engine ফাইলের জন্য বিবেচনার বিষয়গুলি
 যদি আপনার কাছে একটি ডিফল্ট Cloud Storage বাকেট থাকে যার নাম বিন্যাস*.appspot.com , তাহলে আপনার প্রোজেক্টে একটি App Engine অ্যাপও আছে যা সেই বাকেটটি শেয়ার করে।
আপনি যদি আপনার Firebase Security Rules সর্বজনীন (অনুমোদিত) অ্যাক্সেসের জন্য কনফিগার করেন, তাহলে আপনি নতুন আপলোড করা App Engine ফাইলগুলিকেও সর্বজনীনভাবে অ্যাক্সেসযোগ্য করে তুলবেন।
Cloud Storage এবং App Engine জন্য জ্ঞাত সমস্যা
দুটি পরিচিত ঘটনা আছে যেখানে আপনি আপনার App Engine অ্যাপটি আমদানি করতে পারবেন না:
- এই প্রকল্পটিতে একটি প্রাক্তন App Engine Datastore মাস্টার/স্লেভ অ্যাপ রয়েছে।
-  প্রকল্পটির একটি ডোমেন প্রিফিক্সযুক্ত প্রকল্প আইডি রয়েছে, উদাহরণস্বরূপ: domain.com:project-1234।
এই দুটি ক্ষেত্রেই, প্রকল্পটি Cloud Storage for Firebase সমর্থন করবে না, এবং Cloud Storage ব্যবহার করার জন্য আপনার একটি নতুন Firebase প্রকল্প তৈরি করা উচিত। সহায়তার সাথে যোগাযোগ করুন যাতে আমরা আপনাকে সাহায্য করতে পারি।