دو راه برای تعیین وابستگی برای Cloud Functions نوشته شده در پایتون وجود دارد: استفاده از فایل requirements.txt
مدیر بسته پیپ یا بسته بندی وابستگی های محلی در کنار تابع خود.
مشخصات وابستگی با استفاده از استاندارد Pipfile/Pipfile.lock پشتیبانی نمی شود. پروژه شما نباید شامل این فایل ها باشد.
تعیین وابستگی ها با پیپ
وابستگی ها در پایتون با پیپ مدیریت می شوند و در یک فایل ابرداده به نام requirements.txt
بیان می شوند. این فایل باید در همان دایرکتوری فایل main.py
باشد که حاوی کد تابع شماست.
وقتی تابع خود را مستقر یا مجدداً مستقر میکنید، Cloud Functions از پیپ برای دانلود و نصب آخرین نسخه وابستگیهای شما همانطور که در فایل requirements.txt
اعلام شده است استفاده میکند. فایل requirements.txt
حاوی یک خط در هر بسته است. هر خط حاوی نام بسته و به صورت اختیاری، نسخه درخواستی است. برای جزئیات بیشتر، به مرجع requirements.txt
مراجعه کنید.
برای جلوگیری از تحت تاثیر قرار گرفتن ساخت خود توسط تغییرات نسخه وابستگی، بسته های وابستگی خود را به یک نسخه خاص پین کنید.
نمونه زیر یک نمونه فایل requirements.txt
است:
functions-framework requests==2.20.0 numpy
بسته بندی وابستگی های محلی
شما همچنین می توانید وابستگی ها را در کنار عملکرد خود بسته بندی و مستقر کنید. اگر وابستگی شما از طریق مدیر بسته پیپ در دسترس نباشد یا دسترسی به اینترنت محیط توابع ابری شما محدود باشد، این رویکرد مفید است.
به عنوان مثال، ممکن است از ساختار دایرکتوری مانند زیر استفاده کنید:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
سپس می توانید کد را طبق معمول از localpackage
با استفاده از عبارت import
زیر وارد کنید.
# Code in main.py from localpackage import script
توجه داشته باشید که این روش هیچ فایل setup.py
را اجرا نخواهد کرد. بستههای حاوی آن فایلها هنوز هم میتوانند بسته شوند، اما ممکن است به درستی در Cloud Functions اجرا نشوند.