前言
這篇主要是紀錄實作 AWS Lambda 開發者文件 Creating a Deployment Package (Python) 的步驟,同時還參考了 Running Python with compiled code on AWS Lambda 這篇文章。
實作
開個跑 Amazon Linux AMI 的 EC2 instance
AWS lambda 的執行環境基本上就是 Amazon Linux AMI,因為使用同樣環境下編譯的套件比較容易成功,所以我們首先要開個跑 Amazon Linux AMI 的 EC2 instance。
安裝編譯 lxml 所需要的套件
ssh 進剛剛開好的 EC2 instance 並安裝套件:
|
|
在虛擬環境安裝 lxml
Amazon Linux AMI 預設的 python 環境已經裝了很多不必要的套件,因此我們需要用 virtualenv 建立乾淨的虛擬環境:
|
|
建立好之後啟動虛擬環境:
|
|
安裝 lxml:
|
|
打包 lambda 程式
假設用到 lxml 的 lambda 程式放在 path/to/my/project
下,先切換到該目錄再打包成 zip 檔:
|
|
然後再切換到該虛擬環境放置套件的目錄,並打包進剛剛的 zip 檔:
|
|
發佈
最後只要上傳 path/to/my/project/bundle.zip
到 AWS Lambda 去就完成了。