با توابع ابری چه کاری می توانید انجام دهید؟

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 برای انتقال کار فشرده به فضای ابری گوگل (پردازنده یا شبکه سنگین) به جای اجرای آن بر روی دستگاه کاربر استفاده کنید و پاسخگویی برنامه خود را بهبود بخشید. به عنوان مثال، می‌توانید تابعی بنویسید که به آپلود تصویر در Cloud Storage گوش دهد، تصویر را در نمونه‌ای که تابع را اجرا می‌کند دانلود کند، آن را تغییر دهد و دوباره به Cloud Storage آپلود کند. تغییرات شما می‌تواند شامل تغییر اندازه، برش یا تبدیل تصاویر با ابزارهایی مانند sharp یا Pillow باشد.

نموداری که جریان برنامه را در زیر نشان می‌دهد

  1. یک تابع زمانی فعال می‌شود که یک فایل تصویری در Cloud Storage آپلود شود.
  2. این تابع تصویر را دانلود کرده و یک نسخه کوچک از آن ایجاد می‌کند.
  3. این تابع، مکان آن تصویر بندانگشتی را در پایگاه داده می‌نویسد، بنابراین یک برنامه‌ی کلاینت می‌تواند آن را پیدا کرده و از آن استفاده کند.
  4. این تابع، تصویر بندانگشتی را دوباره در مکان جدیدی به Cloud Storage آپلود می‌کند.
  5. برنامه لینک تصویر بندانگشتی را دانلود می‌کند.

برای آشنایی با یک مثال پردازش تصویر، به راهنمای مدیریت رویدادهای Cloud Storage مراجعه کنید.

نمونه‌های دیگری از کارهای دسته‌ای در فضای ابری فایربیس

  • به صورت دوره‌ای حساب‌های کاربری استفاده نشده Firebase را در Node.js | Python حذف کنید.
  • پشتیبان‌گیری خودکار از تصاویر آپلود شده در Node.js | Python
  • ارسال ایمیل انبوه به کاربران.
  • داده‌ها را به صورت دوره‌ای جمع‌آوری و خلاصه کنید.
  • پردازش صفی از کارهای در انتظار.

ادغام با سرویس‌ها و APIهای شخص ثالث

Cloud Functions می‌توانند با فراخوانی و افشای APIهای وب، به برنامه شما کمک کنند تا با سایر سرویس‌ها بهتر کار کند. به عنوان مثال، برنامه‌ای که برای همکاری در توسعه استفاده می‌شود، می‌تواند کامیت‌های GitHub را در یک اتاق گفتگوی کارگروه ارسال کند.

نموداری که جریان برنامه را در زیر نشان می‌دهد

  1. یک کاربر کامیت‌ها را به یک مخزن گیت‌هاب ارسال می‌کند.
  2. یک تابع HTTPS از طریق API وب‌هوک گیت‌هاب فعال می‌شود.
  3. این تابع، اعلانی از کامیت را به کانال Slack تیمی ارسال می‌کند.

راه‌های دیگر برای ادغام با سرویس‌ها و APIهای شخص ثالث

  • از API گوگل کلود ویژن برای تحلیل و برچسب‌گذاری تصاویر آپلود شده استفاده کنید.
  • ترجمه پیام‌ها با استفاده از مترجم گوگل.
  • برای ورود کاربران از احراز هویت سفارشی استفاده کنید.
  • ارسال درخواست به یک وب‌هوک در Realtime Database .
  • جستجوی متن کامل را در عناصر Realtime Database فعال کنید.
  • پردازش پرداخت‌ها از کاربران.
  • ایجاد پاسخ خودکار به تماس‌های تلفنی و پیامک‌ها
  • با استفاده از دستیار گوگل، یک چت‌بات بسازید.