Lambda 部署程序包
您的 Amazon Lambda 函数代码由脚本或编译的程序及其依赖项组成。您可以使用部署程序包将函数代码部署到 Lambda。Lambda 支持两种类型的部署程序包:容器镜像和 .zip 文件归档。
容器映像
容器映像包括基本操作系统、运行时、Lambda 扩展、应用程序代码及其依赖项。您还可以将静态数据(例如机器学习模型)添加到映像中。
Lambda 提供了一组开源基本映像,您可以使用这些映像构建容器映像。要创建和测试容器映像,您可以使用 Amazon Serverless Application Model (Amazon SAM) 命令行界面 (CLI) 或本机容器工具(如 Docker CLI)。
您将容器映像上载到 Amazon Elastic Container Registry (Amazon ECR),这是一项托管式Amazon容器映像注册表服务。要将映像部署到函数,您需要使用 Lambda 控制台、Lambda API、命令行工具或Amazon开发工具包指定 Amazon ECR 映像 URL。
有关 Lambda 容器映像的更多信息,请参阅 创建 Lambda 容器映像。
中东(阿联酋)区域中的 Lambda 函数不支持容器映像。
.zip 文件归档
.zip 文件归档包括您的应用程序代码及其依赖项。当您使用 Lambda 控制台或工具包编写函数时,Lambda 会自动创建代码的 .zip 文件归档。
使用 Lambda API、命令行工具或 Amazon 软件开发工具包创建函数时,您必须创建部署程序包。如果函数使用已编译的语言,您也必须创建部署程序包,或者为函数添加依赖项。要部署函数的代码,您需要从 Amazon Simple Storage Service (Amazon S3) 或本地计算机上载部署程序包。
您可以使用 Lambda 控制台、Amazon Command Line Interface (Amazon CLI) 将 .zip 文件作为部署程序包上载,或将其上载至 Amazon Simple Storage Service (Amazon S3) 存储桶。
使用 Lambda 控制台
以下步骤演示如何使用 Lambda 控制台将 .zip 文件作为部署程序包上载。
使用 Lambda 控制台上载 .zip 文件
-
打开 Lambda 控制台的 Functions(函数)页面
。 -
选择一个函数。
在 Code Source(代码源)窗格中,选择 Upload from(上载自),然后选择 .zip file(.zip 文件)。
选择 Upload (上传) 以选择本地 .zip 文件。
选择 Save(保存)。
使用 Amazon CLI
您可以使用 Amazon Command Line Interface (Amazon CLI) 将 .zip 文件作为部署程序包上传。有关特定于语言的说明,请参阅以下主题。
使用 Amazon S3
您可以使用 Amazon Simple Storage Service (Amazon S3) 将 .zip 文件作为部署程序包上载。有关更多信息,请参阅使用其他 Amazon 服务构建部署程序包。
层
如果使用 .zip 文件归档部署函数代码,则可以使用 Lambda 层作为库、自定义运行时和其他函数依赖项的分发机制。利用层,您可独立于其使用的不变代码和资源来管理开发中的函数代码。您可以将函数配置为使用您创建的层、Amazon 提供的层或来自其他 Amazon 客户的层。
不要将层与容器映像一起使用。相反,在构建映像时,您可以将首选运行时、库和其他依赖项打包到容器映像。
有关层的更多信息,请参阅 创建和共享 Lambda 层。
使用其他 Amazon 服务构建部署程序包
以下部分将介绍可用于打包 Lambda 函数依赖项的其他Amazon服务。
包含 C 或 C++ 库的部署程序包
如果您的部署程序包包含本机库,则可以使用Amazon Serverless Application Model(Amazon SAM) 构建部署程序包。您可以将 Amazon SAM CLI sam build
命令与 --use-container
配合使用来创建部署程序包。此选项在与 Lambda 执行环境兼容的 Docker 映像内构建部署程序包。
有关更多信息,请参阅 Amazon Serverless Application Model 开发人员指南中的 sam build。
超过 50MB 的部署程序包
如果部署程序包大于 50MB,请将函数代码和依赖项上传到 Amazon S3 存储桶。
您可以创建部署程序包并将 .zip 文件上载到要创建 Lambda 函数的Amazon区域中的 Amazon S3 存储桶。在创建 Lambda 函数时,使用 Lambda 控制台或 Amazon CLI 指定 S3 存储桶名称和对象键名。
要使用 Amazon S3 控制台创建存储桶,请参阅《Amazon Simple Storage Service 控制台用户指南》中的如何创建 S3 Bucket?