本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用容器映像部署 Python Lambda 函數
您可以將 Lambda 函數程式碼部署為容器映像。AWS 提供下列資源,以協助您建置 Python 函數的容器映像:
Lambda 的 AWS 基礎映像
這些基礎映像會預先載入語言執行階段,以及執行映像所需的其他元件 Lambda。AWS 為每個基礎映像提供 Dockerfile,以協助建置容器映像。
開放原始碼執行階段介面用戶端
如果您使用社群或私人企業基礎映像,請將執行階段介面用戶端新增至基礎映像,以使其與 Lambda 相容。
Python 的 AWS 基礎映像
AWS 針對 Python 提供以下基礎映像:
標籤
執行時間
作業系統
Dockerfile
2, 2.7
Python 2.7
Amazon Linux 2018.03
Docker Hub 儲存庫︰amazon/aws-lambda-python
Amazon ECR 儲存庫︰gallery.ecr.aws/lambda/python
Python 執行時間界面用戶端
使用 pip 套件管理員安裝 Python 執行時間界面用戶端。
pip install awslambdaric
如需套件詳細資訊,請參閱 Python Package Index (PyPI) 網站上的 Lambda RIC。
您還可以從 GitHub 下載 Python 執行時間界面用戶端。
使用 AWS 基礎映像部署 Python
若您使用 AWS 基礎映像為 Python 建置容器映像,只需將 Python 應用程式複製到容器並安裝任何相依項。
使用 python:3.8 基礎映像建置和部署 Python 函數。
在您的本機電腦上,為新函數建立專案目錄。
在您的專案目錄中,新增名稱為 app.py 且包含函數程式碼的檔案。以下範例顯示一個簡單的 Python 處理常式。
import sys
def handler(event, context):
return 'Hello from AWS Lambda using Python' + sys.version + '!'
使用文字編輯器在專案目錄中建立 Dockerfile。下列範例會顯示您在上一個步驟中建立的處理常式的 Dockerfile。
FROM public.ecr.aws/lambda/python:3.8
COPY app.py ./
CMD ["app.handler"]
若要建立容器映像,請遵循從 AWS 基礎映像建立 Lambda 的映像中的步驟 4 至 7。
從替代基礎映像建立 Python 映像
如需如何從 Alpine 基礎映像建立 Python 映像的範例,請參閱 AWS 部落格上的Lambda 的容器映像支援。