Cloud Functions لمنصة Firebase

Cloud Functions for Firebase هو إطار عمل بدون خادم يتيح لك تشغيل رمز الخلفية تلقائيًا استجابةً للأحداث التي يتم تشغيلها من خلال أحداث الخلفية أو طلبات HTTPS أو مهام Admin SDK أو Cloud Scheduler. يتم تخزين رمز JavaScript أو TypeScript أو Python على بنية Google Cloud الأساسية ويتم تنفيذه في بيئة مُدارة. ولن تحتاج إلى إدارة خوادمك وتوسيع نطاقها.

هل تستخدم Cloud Functions في Google Cloud؟ مزيد من المعلومات حول دور Firebase.

البدء حالات الاستخدام

الإمكانات الرئيسية

تدمج ميزات Firebase وتربطها بخدمة Google Cloud

يمكن أن تستجيب الدوال التي تكتبها للأحداث التي تنشئها ميزات مختلفة من Firebase وGoogle Cloud، بدءًا من مشغّلات Firebase Authentication إلى مشغّلات Cloud Storage.

يمكنك الدمج بين ميزات Firebase باستخدام Admin SDK مع Cloud Functions، والدمج مع خدمات تابعة لجهات خارجية من خلال كتابة خطافات الويب الخاصة بك. تساعد Cloud Functions في الحدّ من التعليمات البرمجية النموذجية، ما يسهّل استخدام Firebase وGoogle Cloud داخل الدالة.
لا يحتاج إلى صيانة يمكنك نشر رموز JavaScript أو TypeScript أو Python البرمجية على خوادمنا باستخدام أمر واحد من سطر الأوامر. بعد ذلك، تعمل Firebase تلقائيًا على زيادة موارد الحوسبة لتتطابق مع أنماط استخدام المستخدمين. لن تقلق بشأن بيانات الاعتماد أو إعداد الخادم أو توفير خوادم جديدة أو إيقاف الخوادم القديمة.
الحفاظ على خصوصية منطقك وأمانه في كثير من الحالات، يفضّل المطوّرون التحكّم في منطق التطبيق على الخادم لتجنُّب التلاعب به من جهة العميل. بالإضافة إلى ذلك، قد لا يكون من المستحسن السماح بإجراء هندسة عكسية لهذا الرمز. Cloud Functions معزول تمامًا عن العميل، لذا يمكنك التأكّد من أنّه خاص وينفّذ دائمًا ما تريده بالضبط.

كيف تعمل هذه الميزة؟

بعد كتابة دالة ونشرها، تبدأ خوادم Google في إدارة الدالة على الفور. يمكن تشغيل الدالة مباشرةً باستخدام طلب HTTP أو Admin SDK أو مهمة مجدوَلة، أو في حالة الدوال التي تعمل في الخلفية، تستمع خوادم Google إلى الأحداث وتشغّل الدالة عند تفعيلها.

مع زيادة أو انخفاض الحمل، تستجيب Google من خلال توسيع نطاق عدد مثيلات الخادم الافتراضي المطلوبة لتشغيل وظيفتك بسرعة. يتم تشغيل كل دالة بشكل منفصل في بيئتها الخاصة مع إعداداتها الخاصة.

مراحل نشاط دالة تعمل في الخلفية

  1. تكتب رمزًا لدالة جديدة، وتختار موفّر أحداث (مثل Cloud Firestore)، وتحدّد الشروط التي يجب أن يتم بموجبها تنفيذ الدالة.
  2. عند نشر الدالة:
    1. تنشئ واجهة سطر الأوامر (CLI) في Firebase أرشيفًا .zip لرمز الدالة، يتم تحميله بعد ذلك إلى حزمة Cloud Storage (يسبقه gcf-sources) قبل أن تنشئ Cloud Functions مستودع Artifact Registry (اسمه gcf-artifacts) في مشروعك.
    2. يسترد Cloud Build رمز الدالة وينشئ مصدر الدالة. يمكنك عرض سجلّات Cloud Build في وحدة تحكّم Google Cloud.
    3. يتم تحميل صورة الحاوية لرمز الدوال الذي تم إنشاؤه إلى مستودع Artifact Registry خاص في مشروعك (يُسمى gcf-artifacts)، ويتم طرح الدالة الجديدة.
  3. عندما ينشئ موفّر الأحداث حدثًا يتطابق مع شروط الدالة، يتم استدعاء الرمز. تتضمّن الدالة حساب خدمة مرفقًا بها يمكن استخدامه للوصول إلى خدمات Firebase الأخرى بمساعدة Firebase Admin SDK.
  4. إذا كانت الدالة مشغولة بمعالجة العديد من الأحداث، تنشئ Google المزيد من المثيلات للتعامل مع العمل بشكل أسرع. إذا كانت الدالة غير نشطة، يتم تنظيف المثيلات.
  5. عند تعديل الدالة من خلال نشر رمز معدَّل، يتم تنظيف مثيلات الإصدارات القديمة مع عناصر البناء في Artifact Registry، واستبدالها بمثيلات جديدة.
  6. عند حذف الدالة، يتم تنظيف جميع مثيلاتها وأرشيفات zip، بالإضافة إلى عناصر البناء ذات الصلة في Artifact Registry. تتم إزالة الربط بين الدالة ومقدّم الحدث.

بالإضافة إلى الاستماع إلى الأحداث باستخدام دالة تعمل في الخلفية، يمكنك استدعاء الدوال مباشرةً باستخدام طلب HTTP أو استدعاء من العميل. يمكنك أيضًا تشغيل الدوال وفق جدول زمني ثابت أو إضافة دوال المهام إلى قائمة الانتظار من خلال Admin SDK.

مسار التنفيذ

إعداد Cloud Functions ثبِّت واجهة سطر الأوامر Firebase وأعِد ضبطها Cloud Functions في مشروعك على Firebase.
كتابة الدوال كتابة رمز JavaScript أو رمز TypeScript أو رمز Python للتعامل مع الأحداث من خدمات Firebase أو خدمات Google Cloud أو مقدّمي الأحداث الآخرين
دوال الاختبار استخدِم المحاكي المحلي لاختبار الدوال.
التفعيل والمراقبة يمكنك ترقية مشروعك إلى خطة أسعار Blaze بنظام الدفع حسب الاستخدام ونشر الدوال باستخدام واجهة سطر الأوامر Firebase. يمكنك بعد ذلك استخدام وحدة تحكّم Google Cloud للاطّلاع على سجلّاتك والبحث فيها.

الخطوات التالية