您可以透過兩種方式,為以 Python 編寫的 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
Functions Framework 是所有函式必備的依附元件。雖然Cloud Functions 建議您在建立函式時代替您安裝 加上明確依附元件
如果函式需要私人依附元件,建議您將 functions-framework
鏡像複製到私人登錄。包含鏡像
functions-framework
做為函式的依附元件,以避免安裝
從公開網際網路取得套件
封裝本機依附元件
您也可以將依附元件與函式一起封裝及部署。這個 如果您的依附元件無法透過 pip 取得 套件管理員或 Cloud Functions 環境的網際網路 存取權受到限制。
舉例來說,您可以採用如下的目錄結構:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
接著,您可以使用下列 import
陳述式,照常從 localpackage
匯入程式碼。
# Code in main.py from localpackage import script
請注意,這個方法不會執行任何 setup.py
檔案。包含這些物件的套裝方案
檔案可以封裝,但可能無法在 Cloud Functions 上正確執行。