使用容器映像部署 Python Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用容器映像部署 Python Lambda 函数

注意

对 Python 2.7 运行时的支持将于 2021 年 7 月 15 日开始结束。有关更多信息,请参阅 运行时支持策略

您可以将 Lambda 函数代码部署为 容器映像。Amazon提供了以下资源,帮助您为 Python 函数构建容器映像:

  • Lambda 的 Amazon 基本镜像

    这些基本镜像预加载了语言运行时以及在 Lambda 上运行镜像所需的其他组件。Amazon 为每个基本镜像提供 Dockerfile,以帮助构建容器镜像。

  • 开源运行时接口客户端

    如果您使用社区或私有企业基本镜像,请将运行时接口客户端添加到基本镜像以使其与 Lambda 兼容。

定义为容器镜像的函数的工作流包括以下步骤:

  1. 使用本主题中列出的资源构建容器镜像。

  2. 将镜像上传到 Amazon ECR 镜像仓库。请参阅创建镜像中的步骤 7-9。

  3. 创建 Lambda 函数并部署镜像。

Python 的 Amazon 基本映像

Amazon为 Python 提供了以下基本映像:

Tags 运行时 操作系统 Dockerfile

3、3.8

Python 3.8 Amazon Linux 2 GitHub 上的适用于 Python 3.8 的 Dockerfile

3.7

Python 3.7 Amazon Linux 2018.03 GitHub 上的 适用于 Python 3.7 的 Dockerfile

3.6

Python 3.6 Amazon Linux 2018.03 GitHub 上的 适用于 Python 3.6 的 Dockerfile

2、2.7

Python 2.7 Amazon Linux 2018.03 GitHub 上的 适用于 Python 2.7 的 Dockerfile

Docker Hub 存储库:amazon/aws-lambda-python

Amazon ECR存储库:gallery.ecr.aws/lambda/python

Python 运行时接口客户端

使用 pip 程序包管理器安装 Python 的运行时接口客户端:

pip install awslambdaric

有关程序包的详细信息,请参阅 Python 程序包索引 (PyPi) 网站上的 Lambda RIC

您还可以从 GitHub 下载 Python 运行时接口客户端

使用 Amazon 基本映像部署 Python

使用 Amazon 基本映像为 Python 构建容器映像时,只需将 Python 应用程序复制到容器并安装所有依赖项即可。

要使用 python:3.8 基本映像构建和部署 Python 函数:

  1. 在本地计算机上,为新函数创建项目目录。

  2. 在项目目录中,添加一个名为 app.py 且包含函数代码的文件。以下示例是一个简单的 Python 处理程序。

    import sys def handler(event, context): return 'Hello from Amazon Lambda using Python' + sys.version + '!'
  3. 使用文本编辑器在项目目录中创建一个 Dockerfile。以下示例显示了在上一步中为处理程序创建的 Dockerfile。

    FROM public.ecr.aws/lambda/python:3.8 COPY app.py ./ CMD ["app.handler"]
  4. 要创建容器映像,请按照从 Lambda 的 Amazon 基本映像创建映像中的步骤 4 至步骤 7 进行操作。

从其他基本映像创建 Python 映像

对于如何从 Alpine 基本映像创建 Python 映像的示例,请参阅 Amazon 博客上的 Lambda 的容器映像支持