🦁
Azure Functionsでpythonコードのデプロイに苦戦
tl;dr
- pipで取得するはずのライブラリが参照できずにエラーになってた
- できればzipデプロイしたい
- ローカルビルドしてアップする方法でもうまくいかない
- リモートビルド方法も試行錯誤してやっとどうさまで漕ぎつけた
前提
- 消費(従量課金)プラン
大まかな手順
funcコマンドのインストール
# debianの場合
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/debian/$(lsb_release -rs 2>/dev/null | cut -d'.' -f 1)/prod $(lsb_release -cs 2>/dev/null) main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-get update
sudo apt-get install azure-functions-core-tools-4
pythonのvenv作成
python -m venv .venv
source .venv/bin/activate
関数作成
func init --python
func new --name SampleFunc
zip化
zip app.zip function_app.py host.json requirements.txt
環境変数を設定しておく
ENABLE_ORYX_BUILD=true
SCM_DO_BUILD_DURING_DEPLOYMENT=1
デプロイ
az functionapp deployment source config-zip -g FuncTestAppSecond -n FuncTestAppSecondApp --build-remote true --src app.zip
Discussion