Cloud Functions-এর সাহায্যে কী কী করা যায়?

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

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

কিছু আকর্ষণীয় ঘটনা ঘটলে ব্যবহারকারীদের বিজ্ঞপ্তি পাঠানো

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

নিচে বর্ণিত অ্যাপ ফ্লো দেখানো ডায়াগ্রাম

  1. Realtime Database পাথে লেখার সময় ফাংশন ট্রিগার হয়, যেখানে ফলোয়ারদের স্টোর করা হয়।
  2. FCM-এর মাধ্যমে পাঠানোর জন্য ফাংশনটি একটি মেসেজ কম্পোজ করে।
  3. FCM ব্যবহারকারীর ডিভাইসে বিজ্ঞপ্তি মেসেজ পাঠায়।

সঠিকভাবে কাজ করা কোড পর্যালোচনা করতে, GitHub-এ নমুনা কোড দেখুন:

বিজ্ঞপ্তির অন্যান্য আকর্ষণীয় ব্যবহারিক ক্ষেত্র

  • নিউজলেটারে সাবস্ক্রাইব করা ব্যবহারকারীদের কনফার্মেশন ইমেল পাঠানো।
  • কোনও ব্যবহারকারী সাইন-আপ সম্পূর্ণ করলে তাকে স্বাগত জানিয়ে ইমেল পাঠান।
  • কোনও ব্যবহারকারী নতুন অ্যাকাউন্ট তৈরি করলে, এসএমএস কনফার্মেশন পাঠান।

ডেটাবেস স্যানিটাইজেশন ও রক্ষণাবেক্ষণ করা

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

নিচে বর্ণিত অ্যাপ ফ্লো দেখানো ডায়াগ্রাম

  1. ফাংশনের ডেটাবেস ইভেন্ট হ্যান্ডলার নির্দিষ্ট পাথে লেখার ইভেন্ট শোনে এবং মেসেজের টেক্সট সহ ইভেন্ট ডেটা রিট্রিভ করে।
  2. ফাংশনটি টেক্সট প্রসেস করে স্ট্রিং বড় হাতের অক্ষরে পরিবর্তন করে।
  3. ফাংশনটি আপডেট করা টেক্সট ডেটাবেসে আবার লেখে।

সঠিকভাবে কাজ করা কোড পর্যালোচনা করতে, GitHub-এ নমুনা কোড দেখুন:

অন্যান্য ডেটাবেস স্যানিটাইজেশন ও রক্ষণাবেক্ষণ সংক্রান্ত ব্যবহারিক ক্ষেত্র

  • Realtime Database থেকে মুছে দেওয়া ব্যবহারকারীর কন্টেন্ট পার্জ করুন।
  • Firebase ডেটাবেসে চাইল্ড নোডের সংখ্যা সীমিত করুন।
  • Realtime Database তালিকায় এলিমেন্টের সংখ্যা ট্র্যাক করুন।
  • Realtime Database থেকে Google Cloud BigQuery-তে ডেটা কপি করুন।
  • টেক্সটকে ইমোজিতে কনভার্ট করা।
  • ডেটাবেস রেকর্ডের জন্য কম্পিউট করা মেটাডেটা ম্যানেজ করা।

আপনার অ্যাপের পরিবর্তে ক্লাউডে ইনটেনসিভ টাস্ক এক্সিকিউট করা

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

নিচে বর্ণিত অ্যাপ ফ্লো দেখানো ডায়াগ্রাম

  1. Cloud Storage-এ কোনও ইমেজ ফাইল আপলোড করা হলে একটি ফাংশন ট্রিগার হয়।
  2. এই ফাংশনটি ছবি ডাউনলোড করে এবং সেটির একটি থাম্বনেল ভার্সন তৈরি করে।
  3. ফাংশনটি ডেটাবেসে থাম্বনেলের লোকেশন লেখে, যাতে ক্লায়েন্ট অ্যাপ এটি খুঁজে নিয়ে ব্যবহার করতে পারে।
  4. এই ফাংশনটি থাম্বনেলকে নতুন লোকেশনে Cloud Storage-এ আবার আপলোড করে।
  5. অ্যাপটি থাম্বনেল লিঙ্ক ডাউনলোড করে।

ইমেজ প্রসেসিংয়ের উদাহরণের ওয়াকথ্রু পেতে, ইভেন্ট Cloud Storage ম্যানেজ করা সংক্রান্ত গাইড দেখুন।

Firebase ক্লাউডে ব্যাচ জব সংক্রান্ত অন্যান্য উদাহরণ

  • পর্যায়ক্রমে অব্যবহৃত Firebase অ্যাকাউন্ট Node.js | Python মুছে দিন।
  • আপলোড করা ছবি অটোমেটিক ব্যাক-আপ নেওয়া Node.js | Python.
  • ব্যবহারকারীদের একসাথে অনেক ইমেল পাঠান।
  • পর্যায়ক্রমে ডেটা একত্রিত ও সংক্ষিপ্ত করা।
  • বাকি থাকা কাজের সারি প্রসেস করা।

থার্ড-পার্টি পরিষেবা ও API-এর সাথে ইন্টিগ্রেট করা

Cloud Functions আপনার অ্যাপকে অন্যান্য পরিষেবার সাথে আরও ভালোভাবে কাজ করতে সাহায্য করতে পারে, এর জন্য ওয়েব API কল ও এক্সপোজ করা হয়। যেমন, ডেভেলপমেন্টে কোলাবোরেশনের জন্য ব্যবহৃত কোনও অ্যাপ, ওয়ার্কগ্রুপ চ্যাট রুমে GitHub কমিট পোস্ট করতে পারে।

নিচে বর্ণিত অ্যাপ ফ্লো দেখানো ডায়াগ্রাম

  1. কোনও ব্যবহারকারী GitHub রিপোজিটরিতে কমিট পুশ করেন।
  2. GitHub ওয়েবহুক API-এর মাধ্যমে একটি HTTPS ফাংশন ট্রিগার হয়।
  3. এই ফাংশনটি টিমের Slack চ্যানেলে কমিট করার বিজ্ঞপ্তি পাঠায়।

থার্ড-পার্টি পরিষেবা ও API-এর সাথে ইন্টিগ্রেট করার অন্যান্য উপায়

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