هناك طريقتان لتحديد تبعيات Cloud Functions المكتوبة بلغة
بايثون: باستخدام رمز مدير الحزم pip
requirements.txt
أو إنشاء حزمة للتبعيات المحلية جنبًا إلى جنب مع الدالة.
ملف مواصفات التبعيات باستخدام معيار 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
إطار عمل الدوالّ هو تبعية مطلوبة لجميع الدوالّ. على الرغم من أن 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.