Python 專案打包zip部屬至 AWS Lambda (含套件)
Python 專案打包zip部屬至 AWS Lambda
雖然現在基本都是透過 Docker 搭配 Aws ECR ,但是有時候只是想快速丟到Lambda跑跑看
就可以看這篇教學
複製引用套件
- 如過是pipenv的專案 可用以下方式轉成 requirements.txt
pipenv lock -r >requirements.txt
- 把引用的套件複製出來
docker run -v "<專案路徑>":/var/task "lambci/lambda:build-python3.8" /bin/sh -c "pip install -r requirements.txt -t python/lib/python3.9/site-packages/; exit"
使用這個指令 需要先安裝docker
專案路徑需使用絕對路徑
- 會將所以的套件複製到 python/lib/python3.9/site-packages/ 目錄下
打包zip
- 將"套件"的資料夾移動到 …/dest目錄
mkdir ../dest
mv ./python/lib/python3.9/site-packages/* ../dest
rm -rf ./python/
- 複製專案內的檔案到…/dest
- 用zip把 …/dest的專案打包巴 就可以上傳了
留言
張貼留言