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-তে ডেটা কপি করুন।
  • টেক্সটকে ইমোজিতে কনভার্ট করুন।
  • ডেটাবেস রেকর্ডের জন্য গণনা করা মেটাডেটা ম্যানেজ করুন।

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

আপনি Cloud Functions-এর সুবিধা নিয়ে Google ক্লাউডে রিসোর্স-ইনটেনসিভ কাজ (ভারী CPU বা নেটওয়ার্কিং) অফলোড করতে পারেন, ব্যবহারকারীর ডিভাইসে এটি চালানোর পরিবর্তে, আপনার অ্যাপের রেসপন্সিভনেস উন্নত করতে পারেন। যেমন, আপনি 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 ব্যবহার করে চ্যাটবট তৈরি করুন।