يتوفّر إصداران من 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@ |
حساب خدمة Compute Engine التلقائي في Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| حجم المثيل | ذاكرة وصول عشوائي (RAM) تصل سعتها إلى 8 غيغابايت مع وحدتَي معالجة مركزية افتراضيتَين | ذاكرة وصول عشوائي (RAM) تصل سعتها إلى 16 غيغابايت مع 4 وحدات معالجة مركزية افتراضية |
| التزامن | طلب متزامن واحد لكل مثيل دالة | ما يصل إلى 1,000 طلب متزامن لكل مثيل دالة |
* This is the default service account used to access Firebase or Cloud APIs from a running function. ويستخدمه مدير SDK في Firebase عند بدء التشغيل بدون وسيطات.
الأسعار
للحصول على معلومات حول الأسعار، يُرجى الاطّلاع على خطط أسعار Firebase.
يمكنك الاطّلاع على التكاليف المرتبطة بـ "Cloud Functions" على النحو التالي:
- انتقِل إلى صفحة تقارير Cloud Billing في وحدة تحكّم "Google Cloud".
- اختَر حساب الفوترة المرتبط بمشروعك على Google Cloud إذا طُلب منك ذلك.
- في لوحة الفلاتر، ضمن التصنيفات،
أضِف فلتر تصنيف باستخدام المفتاح
goog-managed-byوالقيمةcloudfunctions.
القيود
لا يتيح جهاز Cloud Functions for Firebase (الجيل الثاني) توفير أحداث "Analytics".
ومع ذلك، نظرًا لأنّ دوال الجيل الأول والجيل الثاني يمكن أن تتواجد جنبًا إلى جنب في ملف المصدر نفسه، لا يزال بإمكانك تطوير ونشر مشغّلات Analytics في الجيل الأول مع دوال الجيل الثاني.