دو نسخه از Cloud Functions for Firebase وجود دارد:
- Cloud Functions (نسل دوم)، که کارکردهای شما را بهعنوان سرویس در Cloud Run مستقر میکند و به شما امکان میدهد آنها را بااستفاده از Eventarc و Pub/Sub راهاندازی کنید.
- Cloud Functions (نسل اول)، نسخه اصلی توابع با راهاندازهای رویداد محدود و پیکربندیپذیری.
توصیه میکنیم درصورت امکان، Cloud Functions (نسل دوم) را برای عملکردهای جدید انتخاب کنید. بااینحال، قصد داریم به پشتیبانی از Cloud Functions (نسل اول) ادامه دهیم.
این صفحه ویژگیهای معرفیشده در Cloud Functions را شرح میدهد و دو نسخه محصول را با هم مقایسه میکند.
Cloud Functions (نسل دوم)
Cloud Functions نسل بعدی ارائه «توابع بهعنوان سرویس» از Firebase است. ساختهشده در Cloud Run و Eventarc، Cloud Functions (نسل دوم) زیرساخت بهبودیافته و پوشش رویداد گستردهتری را برای Cloud Functions ارائه میدهد، ازجمله:
- ساختهشده در Cloud Run: توابع با Cloud Build ساخته میشوند و بهعنوان سرویسهای Cloud Run بااستفاده از Cloud Run محیط اجرای پیشفرض مستقر میشوند. این کار به شما امکان میدهد عملکردتان را همانطور که سرویس Cloud Run را سفارشیسازی میکنید سفارشیسازی کنید. برای کاوش گزینههای پیکربندی سرویس خود، مثل محدودیتهای حافظه، متغیرهای محیط، و غیره، به مستندات Cloud Run مراجعه کنید.
- زمانهای پردازش درخواست طولانیتر: حجمهای کاری درخواست طولانیتر را اجرا کنید، مثل پردازش جاریسازیهای بزرگ داده از Cloud Storage یا BigQuery.
- اندازههای نمونه بزرگتر: بارهای کاری موازی، محاسباتی فشرده، و درونحافظهای بزرگتر را اجرا کنید.
- همرسهای بهبودیافته: با یک نمونه تابع، چندین درخواست همزمان را مدیریت کنید تا راهاندازیهای سرد را بهحداقل برسانید و تأخیر را بهبود دهید.
- مدیریت ترافیک: ترافیک را بین نسخههای بازبینی تابع مختلف تقسیم کنید یا تابع را به نسخه قبلی برگردانید.
- یکپارچهسازی Eventarc: پشتیبانی بومی از Eventarc راهانداز، که همه بیشاز ۹۰ منبع رویداد پشتیبانیشده توسط Eventarc را به Cloud Functions میآورد.
- پشتیبانی گستردهتر از CloudEvents: پشتیبانی از CloudEvents استاندارد صنعتی در همه زمانهای اجرای زبان، که تجربه توسعهدهنده یکپارچهای را ارائه میدهد.
برای جزئیات بیشتر، جدول مقایسه را ببینید.
چون Cloud Functions توابع را بهعنوان خدمات در Cloud Run مستقر میکند، Cloud Functions سهمیهها و محدودیتهای منبع را با Cloud Run همرسانی میکند. سهمیهها را ببینید.
جدول مقایسه
| ویژگی | Cloud Functions (نسل اول) | Cloud Functions |
|---|---|---|
| ثبت تصویر | Container Registry یا Artifact Registry | فقط Artifact Registry |
| زمان درخواست تمام شد | حداکثر ۹ دقیقه |
|
| حساب سرویس* | حساب سرویس Google App Engine (PROJECT_ID@ |
حساب خدمات محاسباتی پیشفرض Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| اندازه نمونه | تا ۸ گیگابایت حافظه دسترسی تصادفی با ۲ واحد پردازش مرکزی مجازی | تا ۱۶ گیگابایت حافظه دسترسی تصادفی با ۴ واحد پردازش مجازی |
| همزمان | ۱ درخواست همزمان برای هر نمونه تابع | حداکثر ۱۰۰۰ درخواست همزمان در هر نمونه تابع |
* این حساب سرویس پیشفرض برای دسترسی به Firebase یا Cloud APIs از تابع درحال اجرا استفاده میشود. وقتی بدون آرگومان مقداردهی اولیه میکنید، «کیت توسعه نرمافزار Firebase Admin» از آن استفاده میکند.
قیمتگذاری
برای اطلاعات قیمتگذاری، طرحهای قیمتگذاری Firebase را ببینید.
میتوانید هزینههای مربوط به Cloud Functions را به این صورت مشاهده کنید:
- به Cloud Billing صفحه «گزارشها» در کنسول Google Cloud بروید.
- اگر درخواست شد، حساب صورتحساب مرتبط با پروژه Google Cloud خود را انتخاب کنید.
- در پانل فیلترها، در بخش برچسبها،
فیلتر برچسبی را با کلید
goog-managed-byو مقدارcloudfunctionsاضافه کنید.
محدودیتها
Cloud Functions for Firebase (نسل دوم) از رویدادهای Analytics پشتیبانی نمیکند.
بااینحال، ازآنجاییکه توابع نسل اول و دوم میتوانند در کنار هم در فایل منبع یکسان وجود داشته باشند، همچنان میتوانید Analytics محرک را در نسل اول همراه با توابع نسل دوم توسعه و استقرار دهید.