Cloud Functions ডেভেলপারদের ফায়ারবেস এবং Google Cloud ইভেন্টগুলিতে অ্যাক্সেস দেয়, সেইসাথে সেই ইভেন্টগুলির প্রতিক্রিয়া হিসাবে কোড চালানোর জন্য পরিবর্ধনযোগ্য কম্পিউটিং ক্ষমতাও প্রদান করে। যদিও আশা করা যায় যে ফায়ারবেস অ্যাপগুলি তাদের নিজস্ব প্রয়োজনীয়তা মেটাতে ক্লাউড ফাংশনগুলিকে স্বতন্ত্র উপায়ে ব্যবহার করবে, এর সাধারণ ব্যবহারের ক্ষেত্রগুলি নিম্নলিখিতগুলির মধ্যে পড়তে পারে:
- আকর্ষণীয় কিছু ঘটলে ব্যবহারকারীদের অবহিত করুন ।
- ডাটাবেস পরিষ্করণ ও রক্ষণাবেক্ষণ করুন ।
- আপনার অ্যাপের পরিবর্তে ক্লাউডে নিবিড় কাজগুলো সম্পাদন করুন ।
- তৃতীয় পক্ষের পরিষেবা এবং এপিআই-এর সাথে একীভূত করুন ।
আপনার আগ্রহের প্রতিটি বিভাগের ব্যবহারের ক্ষেত্র এবং উদাহরণগুলো পর্যালোচনা করুন, এবং তারপর আমাদের ‘গেট স্টার্টেড’ টিউটোরিয়ালে অথবা অথেনটিকেশন ইভেন্ট , অ্যানালিটিক্স ইভেন্ট এবং আরও অনেক কিছুর জন্য নির্দিষ্ট হাউ-টু গাইডগুলোতে যান।
আকর্ষণীয় কিছু ঘটলে ব্যবহারকারীদের অবহিত করুন
ডেভেলপাররা ব্যবহারকারীদের একটি অ্যাপ সম্পর্কিত প্রাসঙ্গিক তথ্যের সাথে সংযুক্ত ও হালনাগাদ রাখতে Cloud Functions ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এমন একটি অ্যাপের কথা ভাবুন যা ব্যবহারকারীদের অ্যাপের মধ্যে একে অপরের কার্যকলাপ অনুসরণ করার সুযোগ দেয়। প্রতিবার যখন কোনো ব্যবহারকারী অন্য কোনো ব্যবহারকারীর ফলোয়ার হিসেবে নিজেকে যুক্ত করেন, Realtime Database একটি রাইট ইভেন্ট ঘটে। এরপর এই রাইট ইভেন্টটি একটি ফাংশনকে ট্রিগার করতে পারে, যা Firebase Cloud Messaging (FCM) নোটিফিকেশন তৈরি করে উপযুক্ত ব্যবহারকারীদের জানিয়ে দেয় যে তারা নতুন ফলোয়ার পেয়েছেন।

- Realtime Database যে পাথে ফলোয়ারদের তথ্য সংরক্ষিত থাকে, সেখানে রাইট করার ফলে এই ফাংশনটি সক্রিয় হয়।
- এই ফাংশনটি FCM মাধ্যমে পাঠানোর জন্য একটি বার্তা তৈরি করে।
- FCM ব্যবহারকারীর ডিভাইসে নোটিফিকেশন বার্তাটি পাঠায়।
কার্যকরী কোড পর্যালোচনা করতে, গিটহাবে নমুনা কোডটি দেখুন:
- নোড.জেএস: এফসিএম-নোটিফিকেশন
- পাইথন: এফসিএম-নোটিফিকেশন
নোটিফিকেশনের অন্যান্য আকর্ষণীয় ব্যবহারের ক্ষেত্র
- নিউজলেটারে সাবস্ক্রাইব করা ব্যবহারকারীদের কাছে নিশ্চিতকরণ ইমেল পাঠান।
- ব্যবহারকারী সাইনআপ সম্পন্ন করলে একটি স্বাগত ইমেল পাঠান।
- কোনো ব্যবহারকারী নতুন অ্যাকাউন্ট তৈরি করলে একটি এসএমএস নিশ্চিতকরণ পাঠান।
ডাটাবেস স্যানিটাইজেশন এবং রক্ষণাবেক্ষণ সম্পাদন করুন
Cloud Functions ডাটাবেস ইভেন্ট হ্যান্ডলিং-এর মাধ্যমে, আপনি ব্যবহারকারীর আচরণের প্রতিক্রিয়ায় Realtime Database বা Cloud Firestore পরিবর্তন করতে পারেন এবং সিস্টেমটিকে আপনার কাঙ্ক্ষিত অবস্থায় রাখতে পারেন। উদাহরণস্বরূপ, আপনি রাইট ইভেন্টগুলো পর্যবেক্ষণ করতে পারেন এবং ব্যবহারকারীদের মেসেজে থাকা নির্দিষ্ট স্ট্রিংগুলোর ফরম্যাট পরিবর্তন করতে পারেন (যেমন, সব অক্ষর বড় হাতের করে দেওয়া)। এটি যেভাবে কাজ করতে পারে তা নিচে দেওয়া হলো:

- ফাংশনটির ডাটাবেস ইভেন্ট হ্যান্ডলার একটি নির্দিষ্ট পাথে রাইট ইভেন্ট শোনে এবং মেসেজের টেক্সট সম্বলিত ইভেন্ট ডেটা পুনরুদ্ধার করে।
- ফাংশনটি টেক্সটকে প্রসেস করে স্ট্রিংগুলোকে আপারকেসে পরিবর্তন করে।
- ফাংশনটি আপডেট করা টেক্সটটি ডাটাবেসে পুনরায় লিখে দেয়।
কার্যকরী কোড পর্যালোচনা করতে, গিটহাবে নমুনা কোডটি দেখুন:
- নোড.জেএস: আপারকেস-আরটিডিবি
- পাইথন: আপারকেস-আরটিডিবি
অন্যান্য ডাটাবেস স্যানিটাইজেশন এবং রক্ষণাবেক্ষণের ব্যবহারের ক্ষেত্র
- Realtime Database থেকে মুছে ফেলা ব্যবহারকারীর সমস্ত তথ্য অপসারণ করুন।
- ফায়ারবেস ডাটাবেসে চাইল্ড নোডের সংখ্যা সীমিত করুন।
- Realtime Database তালিকার উপাদান সংখ্যা ট্র্যাক করুন।
- Realtime Database থেকে গুগল ক্লাউড বিগকোয়েরিতে ডেটা কপি করুন।
- টেক্সটকে ইমোজিতে রূপান্তর করুন।
- ডাটাবেস রেকর্ডের জন্য গণনাকৃত মেটাডেটা পরিচালনা করুন।
আপনার অ্যাপের পরিবর্তে ক্লাউডে নিবিড় কাজগুলো সম্পাদন করুন।
আপনি Cloud Functions ব্যবহার করে ব্যবহারকারীর ডিভাইসে চালানোর পরিবর্তে রিসোর্স-ইনটেনসিভ কাজ (যেমন সিপিইউ বা নেটওয়ার্কিংয়ের ওপর বেশি চাপ) গুগল ক্লাউডে অফলোড করতে পারেন, যা আপনার অ্যাপের রেসপন্সিভনেস উন্নত করে। উদাহরণস্বরূপ, আপনি Cloud Storage ইমেজ আপলোড শোনার জন্য একটি ফাংশন লিখতে পারেন, ফাংশনটি চালিত ইনস্ট্যান্সে ইমেজটি ডাউনলোড করতে পারেন, সেটিকে পরিবর্তন করতে পারেন এবং আবার Cloud Storage আপলোড করতে পারেন। আপনার পরিবর্তনগুলোর মধ্যে sharp বা Pillow-এর মতো টুল ব্যবহার করে ইমেজের আকার পরিবর্তন, ক্রপ বা রূপান্তর করা অন্তর্ভুক্ত থাকতে পারে।

- Cloud Storage কোনো ইমেজ ফাইল আপলোড করা হলে একটি ফাংশন সক্রিয় হয়।
- ফাংশনটি ছবিটি ডাউনলোড করে সেটির একটি থাম্বনেইল সংস্করণ তৈরি করে।
- ফাংশনটি থাম্বনেইলের অবস্থানটি ডাটাবেসে লিখে রাখে, যাতে কোনো ক্লায়েন্ট অ্যাপ সেটি খুঁজে ব্যবহার করতে পারে।
- এই ফাংশনটি থাম্বনেইলটিকে Cloud Storage একটি নতুন অবস্থানে পুনরায় আপলোড করে।
- অ্যাপটি থাম্বনেইল লিঙ্কটি ডাউনলোড করে।
ইমেজ প্রসেসিং-এর একটি উদাহরণের বিস্তারিত বিবরণের জন্য, Cloud Storage ইভেন্ট হ্যান্ডলিং -এর নির্দেশিকাটি দেখুন।
ফায়ারবেস ক্লাউডে ব্যাচ জবের অন্যান্য উদাহরণ
- নির্দিষ্ট সময় অন্তর অব্যবহৃত Firebase অ্যাকাউন্টগুলি ডিলিট করুন Node.js | Python ।
- আপলোড করা ছবি স্বয়ংক্রিয়ভাবে ব্যাক আপ করুন Node.js | Python .
- Send bulk email to users.
- পর্যায়ক্রমে তথ্য একত্রিত ও সংক্ষিপ্ত করুন।
- অপেক্ষাধীন কাজের সারিটি প্রক্রিয়া করুন।
তৃতীয় পক্ষের পরিষেবা এবং এপিআই-এর সাথে একীভূত করুন
Cloud Functions ওয়েব এপিআই কল ও এক্সপোজ করার মাধ্যমে আপনার অ্যাপকে অন্যান্য সার্ভিসের সাথে আরও ভালোভাবে কাজ করতে সাহায্য করতে পারে। উদাহরণস্বরূপ, ডেভেলপমেন্টে সহযোগিতার জন্য ব্যবহৃত একটি অ্যাপ কোনো ওয়ার্কগ্রুপ চ্যাট রুমে গিটহাব কমিট পোস্ট করতে পারে।

- একজন ব্যবহারকারী একটি গিটহাব রিপোতে কমিট পুশ করেন।
- একটি HTTPS ফাংশন GitHub ওয়েবহুক API-এর মাধ্যমে সক্রিয় হয়।
- ফাংশনটি একটি টিম স্ল্যাক চ্যানেলে কমিটের নোটিফিকেশন পাঠায়।
তৃতীয় পক্ষের পরিষেবা এবং এপিআই-এর সাথে একীভূত হওয়ার অন্যান্য উপায়
- আপলোড করা ছবি বিশ্লেষণ ও ট্যাগ করতে গুগল ক্লাউড ভিশন এপিআই ব্যবহার করুন।
- গুগল ট্রান্সলেট ব্যবহার করে বার্তা অনুবাদ করুন।
- ব্যবহারকারীদের সাইন ইন করতে কাস্টম অথেন্টিকেশন ব্যবহার করুন।
- Realtime Database লেখার সময় একটি ওয়েবহুকে অনুরোধ পাঠান।
- Realtime Database উপাদানগুলিতে পূর্ণ-পাঠ্য অনুসন্ধান সক্ষম করুন।
- ব্যবহারকারীদের কাছ থেকে পেমেন্ট গ্রহণ করুন।
- ফোন কল এবং এসএমএস বার্তার জন্য স্বয়ংক্রিয় উত্তর তৈরি করুন।
- গুগল অ্যাসিস্ট্যান্ট ব্যবহার করে একটি চ্যাটবট তৈরি করুন।