هناك طريقتان لتحديد التبعيات لواجهة برمجة التطبيقات Cloud Functions المكتوبة بلغة
Python: استخدام ملف requirements.txt
الخاص بمدير الحِزم pip أو حزم التبعيات المحلية إلى جانب وظيفتك.
ملف مواصفات التبعيات باستخدام معيار Pipfile/Pipfile.lock غير متوافق. يجب ألا يتضمّن مشروعك هذه الملفات.
تحديد التبعيات باستخدام pip
تتم إدارة التبعيات في Python باستخدام pip ويتم التعبير عنها في ملف بيانات وصفية يُسمى
requirements.txt
.
يجب أن يكون هذا الملف في الدليل نفسه الذي يتضمّن ملف main.py
الذي يحتوي على
رمز الدالة.
عند نشر الدالة أو إعادة نشرها، تستخدم Cloud Functions
أداة pip لتنزيل أحدث إصدار من ملفاتك المضمّنة في ملف requirements.txt
وتثبيته.
يحتوي ملف requirements.txt
على سطر واحد لكل حزمة. يحتوي كل سطر على اسم الحزمة والإصدار المطلوب اختياريًا. لمزيد من التفاصيل، يُرجى الاطّلاع على
requirements.txt
المرجع.
لمنع تأثر عملية التصميم بتغييرات إصدارات التبعيات، ننصح بتثبيت حِزم التبعيات على إصدار محدّد.
في ما يلي مثال على ملف requirements.txt
:
functions-framework requests==2.20.0 numpy
إطار عمل Functions هو تبعية مطلوبة لجميع الدوالّ. على الرغم من أنّ Cloud Functions تثبِّته نيابةً عنك عند إنشاء الدالة، ننصحك بتضمينه كتبعية صريحة للوضوح.
إذا كانت
وظيفتك تعتمد على تبعيات خاصة، ننصحك بمحاولة
مطابقة functions-framework
مع السجلّ الخاص. أدرِج الإصدار المطابق
functions-framework
كعنصر تابع لوظيفة لتجنب تثبيت ملف التثبيت
من الإنترنت المفتوح.
حزم الملحقات المحلية
يمكنك أيضًا تجميع التبعيات ونشرها مع الدالة. يكون هذا الأسلوب مفيداً إذا لم يكن العنصر التابع متوفّرًا من خلال مدير حِزم pip أو إذا كان الوصول إلى الإنترنت في بيئة Cloud Functions محدودًا.
على سبيل المثال، يمكنك استخدام بنية دليل مثل ما يلي:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
يمكنك بعد ذلك استيراد الرمز كالمعتاد من localpackage
باستخدام statement
import
التالي.
# Code in main.py from localpackage import script
يُرجى العِلم أنّ هذا النهج لن يؤدي إلى تشغيل أي ملفات setup.py
. لا يزال بإمكانك تجميع الحِزم التي تحتوي على تلك
الملفات، ولكن قد لا تعمل بشكل صحيح على Cloud Functions.