يتوفّر إصداران من 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 Functions (الجيل الثاني) إلى Cloud Run وEventarc، ويوفّر بنية أساسية محسّنة وتغطية أوسع للأحداث في Cloud Functions، بما في ذلك:
- مبني على Cloud Run: يتم إنشاء الدوال باستخدام Cloud Build ونشرها كخدمات Cloud Run باستخدام Cloud Run بيئة التنفيذ التلقائية. يمنحك ذلك القدرة على تخصيص وظيفتك كما تفعل مع Cloud Run خدمة. راجِع مستندات Cloud Run للتعرّف على خيارات ضبط خدمتك، مثل حدود الذاكرة ومتغيرات البيئة وما إلى ذلك.
- أوقات معالجة الطلبات الأطول: شغِّل مهام معالجة الطلبات الأطول، مثل معالجة كميات كبيرة من البيانات المتدفقة من Cloud Storage أو BigQuery.
- أحجام أكبر للأجهزة الافتراضية: يمكنك تشغيل أحجام أكبر من أحمال العمل المتوازية التي تتطلّب قدرًا كبيرًا من الحوسبة وتستخدم الذاكرة.
- تزامن محسّن: يمكنك التعامل مع طلبات متزامنة متعددة باستخدام مثيل دالة واحد لتقليل عمليات التشغيل على البارد وتحسين وقت الاستجابة.
- إدارة عدد الزيارات: يمكنك تقسيم عدد الزيارات بين مراجعات مختلفة للدالة أو إعادة دالة إلى إصدار سابق.
- عملية الدمج مع Eventarc: توفير دعم مدمج لمشغّلات Eventarc، ما يتيح نقل جميع مصادر الأحداث التي يزيد عددها عن 90 مصدرًا والمتوافقة مع Eventarc إلى Cloud Functions.
- توافق أوسع مع CloudEvents: تتوافق جميع أوقات تشغيل اللغات مع معيار CloudEvents، ما يوفّر تجربة متسقة للمطوّرين.
اطّلِع على جدول المقارنة لمزيد من التفاصيل.
بما أنّ Cloud Functions ينشر الدوال كخدمات على Cloud Run، تتشارك Cloud Functions حصص الموارد وحدودها مع Cloud Run. راجِع الحصص.
جدول المقارنة
| الميزة | Cloud Functions (الجيل الأول) | Cloud Functions |
|---|---|---|
| سجلّ الصور | Container Registry أو Artifact Registry | Artifact Registry فقط |
| انتهت مهلة الطلب | ما يصل إلى 9 دقائق |
|
| حساب الخدمة* | حساب خدمة Google App Engine (PROJECT_ID@ |
حساب خدمة الحوسبة التلقائي في Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| حجم الجهاز الافتراضي | ذاكرة وصول عشوائي (RAM) بسعة تصل إلى 8 غيغابايت مع وحدتَي معالجة مركزية افتراضيتَين | ذاكرة وصول عشوائي (RAM) بسعة تصل إلى 16 غيغابايت مع 4 وحدات معالجة مركزية افتراضية |
| التزامن | طلب متزامن واحد لكل مثيل دالة | ما يصل إلى 1,000 طلب متزامن لكل مثيل دالة |
* هذا هو حساب الخدمة التلقائي المستخدَم للوصول إلى واجهات برمجة تطبيقات Firebase أو Cloud من دالة قيد التشغيل. تستخدم حزمة تطوير البرامج (SDK) الخاصة بمشرف Firebase هذه السمة عند بدء التشغيل بدون وسيطات.
الأسعار
للحصول على معلومات عن الأسعار، اطّلِع على خطط أسعار Firebase.
يمكنك الاطّلاع على التكاليف المرتبطة بـ Cloud Functions على النحو التالي:
- انتقِل إلى Cloud Billing صفحة التقارير في وحدة تحكّم Google Cloud.
- إذا طُلب منك ذلك، اختَر حساب الفوترة المرتبط بمشروعك على Google Cloud.
- في لوحة الفلاتر، ضمن التصنيفات،
أضِف فلتر تصنيف باستخدام المفتاح
goog-managed-byوالقيمةcloudfunctions.
القيود
لا يتيح جهاز Cloud Functions for Firebase (الجيل الثاني) أحداث Analytics.
ومع ذلك، بما أنّ وظائف الجيل الأول والجيل الثاني يمكن أن تتعايش جنبًا إلى جنب في ملف المصدر نفسه، سيظل بإمكانك تطوير عمليات تشغيل Analytics ونشرها في الجيل الأول مع وظائف الجيل الثاني.