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

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

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

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

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