יש שתי דרכים לציין יחסי תלות עבור 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
אריזה של יחסי תלות מקומיים
אפשר גם לארוז ולפרוס יחסי תלות לצד הפונקציה. הגישה הזו שימושית אם התלות לא זמינה דרך מנהל החבילות pip או אם הגישה לאינטרנט בסביבת Cloud Functions מוגבלת.
לדוגמה, אפשר להשתמש במבנה של ספרייה כמו זה שמופיע בהמשך:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
אחר כך תוכלו לייבא את הקוד כרגיל מ-localpackage
באמצעות ההצהרה הבאה
import
.
# Code in main.py from localpackage import script
חשוב לדעת: בגישה הזו, קובצי setup.py
לא יפעלו. עדיין אפשר לארוז חבילות עם הקבצים האלה, אבל יכול להיות שהן לא יפעלו בצורה תקינה ב-Cloud Functions.