向函数添加层 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

向函数添加层

Lambda 层是包含补充代码或数据的 .zip 文件存档。层通常包含库依赖项、自定义运行时系统或配置文件。

本部分介绍如何向 Lambda 函数添加层。有关层的更多概念性信息以及您可能会考虑使用层的原因,请参阅 使用层管理 Lambda 依赖项

在将 Lambda 函数配置为使用层之前,您必须:

您最多可以在 Lambda 函数中添加五个层。函数和所有层的总解压缩大小不能超出 250 MB 的解压缩部署程序包大小配额。有关更多信息,请参阅 Lambda 配额

即使在删除该层版本或撤消该层的访问权限后,函数也可以继续使用已添加的任何层版本。但是,您无法创建使用已删除层版本的新函数。

向函数添加层
  1. 打开 Lamba 控制台的函数页面

  2. 选择函数。

  3. 向下滚动到部分,然后选择添加层

  4. 选择层下,选择一个层源:

    1. Amazon 层:从 Amazon 托管扩展列表中进行选择。

    2. 自定义层:选择在您的 Amazon Web Services 账户中创建的层。

    3. 指定 ARN:要使用其他 Amazon Web Services 账户的层(例如第三方扩展),请输入 Amazon 资源名称(ARN)。

  5. 选择添加

添加层的顺序就是 Lambda 将层内容合并到执行环境中的顺序。您可以使用控制台更改层合并顺序。

更新函数的层合并顺序(控制台)
  1. 打开 Lamba 控制台的函数页面

  2. 选择要配置的函数。

  3. 下,选择编辑

  4. 选择其中一个图层。

  5. 选择提前合并或者稍后合并以调整层的顺序。

  6. 选择保存

层受版本控制。每个层版本的内容都是不可变的。层所有者可以发布新的层版本以提供更新内容。您可以使用控制台更新附加到函数的层版本。

更新函数的层版本(控制台)
  1. 打开 Lambda 控制台的 Layers page(层页面)。

  2. 选择要为其更新版本的层。

  3. 选择使用此版本的函数选项卡。

  4. 选择要修改的函数,然后选择编辑

  5. 层版本中,选择要更改的目标层版本。

  6. 选择 Update functions(更新函数)。

不能跨 Amazon 账户更新函数的层版本。

查找层信息

要查找账户中与函数运行时系统兼容的层,请使用 ListLayers API。例如,您可以使用以下 list-layers Amazon Command Line Interface(CLI)命令:

aws lambda list-layers --compatible-runtime python3.13

您应该可以看到类似于如下所示的输出内容:

{ "Layers": [ { "LayerName": "my-layer", "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LatestMatchingVersion": { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2025-04-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.13" ] } } ] }

要列出账户中的所有层,您可以省略 --compatible-runtime 选项。响应详细信息显示了每层的最新版本。

您还可以使用 ListLayerVersions API 获取层的最新版本。例如,您可以使用以下 list-layer-versions CLI 命令:

aws lambda list-layer-versions --layer-name my-layer

您应该可以看到类似于如下所示的输出内容:

{ "LayerVersions": [ { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "java11" ] }, { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Version": 1, "Description": "My layer", "CreatedDate": "2023-11-15T00:27:46.592+0000", "CompatibleRuntimes": [ "java11" ] } ] }