View a markdown version of this page

配置 Lambda 扩展 - AWS Lambda

配置 Lambda 扩展

配置扩展(.zip 文件存档)

您可以将扩展作为 Lambda 层添加到函数中。使用层,您可以在整个组织或整个 Lambda 开发人员社区中共享扩展。您可以向层添加一个或多个扩展。您最多可以为一个函数注册 10 个扩展。

您可以使用与任何层相同的方法将扩展添加到函数中。有关更多信息,请参阅 使用层管理 Lambda 依赖项。

将扩展添加到您的函数(控制台)
  1. 打开 Lamba 控制台的函数页面。

  2. 选择函数。

  3. 选择 Code(代码)(如果尚未选择)。

  4. 在 Layers(层)下,选择 Edit(编辑)。

  5. 对于选择层,选择指定 ARN。

  6. 对于指定 ARN,输入扩展层的 Amazon Resource Name (ARN)。

  7. 选择添加。

在容器映像中使用扩展

您可以向容器映像添加扩展。ENTRYPOINT 容器映像设置指定函数的主进程。在 Dockerfile 中配置 ENTRYPOINT 设置,或者覆盖函数配置。

您可以在一个容器内运行多个进程。Lambda 管理主进程和任何其他进程的生命周期。Lambda 使用扩展 API 管理扩展生命周期。

示例:添加外部扩展

外部扩展在 Lambda 函数之外的单独进程中运行。Lambda 为 /opt/extensions/ 目录中的每个扩展启动一个进程。Lambda 使用扩展 API 管理扩展生命周期。函数运行完成后,Lambda 向每个外部扩展发送一个 Shutdown 事件。

例向 Python 基本映像添加外部扩展
FROM public.ecr.aws/lambda/python:3.11 # Copy and install the app COPY /app /app WORKDIR /app RUN pip install -r requirements.txt # Add an extension from the local directory into /opt/extensions ADD my-extension.zip /opt/extensions CMD python ./my-function.py

后续步骤

要了解有关扩展的更多信息,我们建议使用以下资源:

  • 有关基本的工作示例,请参阅 AWS Lambda 计算博客上的构建 AWS 扩展。

  • 有关 AWS Lambda 合作伙伴提供的扩展的信息,请参阅 AWS Lambda 计算博客上的AWS 扩展简介。

  • 要查看可用的示例扩展和包装脚本,请参阅 AWS Lambda Sample GitHub 存储库上的 AWS 扩展。