Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تشغيل الوظائف محليًا

يتضمن Firebase CLI محاكي وظائف السحاب الذي يمكنه محاكاة أنواع الوظائف التالية:

  • وظائف HTTPS
  • وظائف قابلة للاستدعاء
  • وظائف Cloud Firestore

يمكنك تشغيل الوظائف محليًا لاختبارها قبل النشر في الإنتاج.

ثبّت Firebase CLI

لاستخدام محاكي وظائف السحاب ، قم أولاً بتثبيت Firebase CLI:

npm install -g firebase-tools

لاستخدام المحاكي المحلي ، يجب أن تعتمد وظائف السحاب على:

  • firebase-admin الإصدار 8.0.0 أو أحدث.
  • firebase-functions الإصدار 3.0.0 أو أعلى.

إعداد بيانات اعتماد المسؤول (اختياري)

إذا كنت تريد أن تتفاعل اختبارات وظائفك مع واجهات برمجة تطبيقات Google أو واجهات برمجة تطبيقات Firebase الأخرى عبر Firebase Admin SDK ، فقد تحتاج إلى إعداد بيانات اعتماد المشرف.

  • مشغلات Cloud Firestore و Realtime Database لديها بالفعل بيانات اعتماد كافية ، ولا تتطلب إعدادًا إضافيًا.
  • تتطلب جميع واجهات برمجة التطبيقات الأخرى ، بما في ذلك واجهات برمجة تطبيقات Firebase مثل المصادقة و FCM أو واجهات برمجة تطبيقات Google مثل Cloud Translation أو Cloud Speech ، خطوات الإعداد الموضحة في هذا القسم. ينطبق هذا سواء كنت تستخدم وظائف shell أو firebase emulators:start .

لإعداد بيانات اعتماد المسؤول للوظائف التي تمت محاكاتها:

  1. افتح جزء حسابات الخدمة في Google Cloud Console.
  2. تأكد من تحديد حساب الخدمة الافتراضي لـ App Engine ، واستخدم قائمة الخيارات الموجودة على اليمين لتحديد إنشاء مفتاح .
  3. عند المطالبة ، حدد JSON لنوع المفتاح ، وانقر على إنشاء .
  4. قم بتعيين بيانات اعتماد Google الافتراضية الخاصة بك للإشارة إلى المفتاح الذي تم تنزيله:

    يونكس

     $ export GOOGLE_APPLICATION_CREDENTIALS="path/to/key.json"
    
    $ firebase emulators:start
     

    شبابيك

     $ set GOOGLE_APPLICATION_CREDENTIALS=path\to\key.json
    
    $ firebase emulators:start
     

بعد إكمال هذه الخطوات ، يمكن لاختبارات وظائفك الوصول إلى Firebase و Google APIs باستخدام Admin SDK . على سبيل المثال ، عند اختبار مشغل المصادقة ، يمكن للدالة التي تمت مضاهاتها استدعاء admin.auth().getUserByEmail(email) .

إعداد تكوين الوظائف (اختياري)

إذا كنت تستخدم متغيرات تكوين الوظائف المخصصة ، فقم أولاً بتشغيل الأمر للحصول على التكوين المخصص الخاص بك (قم بتشغيل هذا في دليل functions ) في بيئتك المحلية:

 firebase functions:config:get > .runtimeconfig.json
# If using Windows PowerShell, replace the above with:
# firebase functions:config:get | ac .runtimeconfig.json
firebase functions:shell
 

قم بتشغيل مجموعة المحاكي

لتشغيل محاكي وظائف السحاب ، استخدم emulators:start الأمر emulators:start :

firebase emulators:start

emulators:start الأمر start بمحاكاة للوظائف السحابية ، و Cloud Firestore ، وقاعدة بيانات Realtime ، و Firebase Hosting استنادًا إلى المنتجات التي قمت بتهيئتها في مشروعك المحلي باستخدام firebase init . إذا كنت تريد بدء محاكي معين ، --only علامة --only :

firebase emulators:start --only functions

إذا كنت ترغب في تشغيل مجموعة اختبار أو برنامج نصي للاختبار بعد بدء تشغيل المحاكيات ، فاستخدم emulators:exec command:

firebase emulators:exec "./my-test.sh"

التفاعل مع الخدمات الأخرى

تحتوي مجموعة المحاكي على العديد من المحاكيات ، والتي تتيح اختبار التفاعلات عبر المنتجات.

سحابة Firestore

إذا كانت لديك وظائف Cloud التي تستخدم Firebase Admin SDK للكتابة إلى Cloud Firestore ، فسيتم إرسال هذه الكتابات إلى محاكي Cloud Firestore إذا كان قيد التشغيل. إذا تم تشغيل المزيد من وظائف السحاب من خلال عمليات الكتابة هذه ، فسيتم تشغيلها في محاكي وظائف السحاب.

استضافة Firebase

إذا كنت تستخدم وظائف السحاب لإنشاء محتوى ديناميكي لاستضافة Firebase ، فإن firebase emulators:start باستخدام وظائف HTTP المحلية كوكلاء للاستضافة.

تسجيل

يقوم المحاكي بتدفق السجلات من الوظائف الخاصة بك إلى النافذة الطرفية حيث يتم تشغيلها. ويعرض كل الإخراج من console.log() و console.info() و console.error() و console.warn() داخل وظائفك.

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

للحصول على مثال كامل لاستخدام مجموعة محاكي Firebase ، راجع نموذج الاختبار السريع .