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

- وقتی فایل تصویری در Cloud Storage بارگذاری میشود، عملکردی راهاندازی میشود.
- این تابع تصویر را بارگیری میکند و نسخه ریزعکسی از آن ایجاد میکند.
- این تابع مکان آن ریزعکس را در پایگاه داده مینویسد تا برنامه کارخواه بتواند آن را پیدا کند و از آن استفاده کند.
- این تابع تصویر کوچک را در مکان جدیدی به Cloud Storage بارگذاری میکند.
- برنامه پیوند ریزعکس را بارگیری میکند.
برای راهنمای گامبهگام نمونه پردازش تصویر، راهنمای رسیدگی به رویدادهای Cloud Storage را ببینید.
نمونههای دیگر از کارهای دستهای در Firebase Cloud
- حسابهای Firebase بلااستفاده را بهطور دورهای حذف کنید Node.js | Python.
- پشتیبانگیری خودکار از تصاویر بارگذاریشده Node.js | Python.
- ارسال ایمیل انبوه به کاربران.
- دادهها را بهطور دورهای جمعآوری و خلاصه کنید.
- صف کارهای معلق را پردازش کنید.
ادغام با سرویسها و میاناهای برنامهسازی کاربردی طرف سوم
Cloud Functions میتواند با فراخوانی و نمایش میاناهای برنامهسازی کاربردی وب، به برنامه شما کمک کند تا با سرویسهای دیگر بهتر کار کند. برای مثال، برنامهای که برای مشارکت در توسعه استفاده میشود میتواند GitHub را به اتاق گپ گروه کاری ارسال کند.

- کاربری commitها را به مخزن GitHub ارسال میکند.
- یک تابع HTTPS ازطریق میانای برنامهسازی کاربردی وبقلاب GitHub راهاندازی میشود.
- این تابع اعلانی از commit را به کانال Slack تیم ارسال میکند.
روشهای دیگر برای ادغام با سرویسها و میاناهای برنامهسازی کاربردی طرف سوم
- از Cloud Vision API Google برای تجزیهوتحلیل و برچسبگذاری تصاویر بارگذاریشده استفاده کنید.
- پیامها را بااستفاده از «ترجمه Google» ترجمه کنید.
- از احراز هویت سفارشی برای ورود کاربران به سیستم استفاده کنید.
- ارسال درخواست به وبقلاب در Realtime Database مینویسد.
- جستجوی کل نوشتار را در عناصر Realtime Database فعال کنید.
- پردازش پرداختهای کاربران.
- پاسخهای خودکار برای تماسهای تلفنی و پیامکها ایجاد کنید.
- بااستفاده از «دستیار Google» روبات گپ ایجاد کنید.