處理依附元件


您可以透過兩種方式,為以 Python 編寫的 Cloud 函式指定依附元件:使用 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 匯入程式碼,然後使用下列程式碼 import 陳述式。

# Code in main.py
from localpackage import script

請注意,這個方法不會執行任何 setup.py 檔案。包含這些物件的套裝方案 檔案仍可封裝,但可能無法在 Cloud Functions 中正確執行。