AWS::Serverless::LayerVersion - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS::Serverless::LayerVersion

创建 Lambda LayerVersion,其中包含 Lambda 函数所需的库或运行时代码。

资源还支持 AWS::Serverless::LayerVersion 资源属性,因此,您可以指示 Metadata 构建应用程序中包含的层。AWS SAM有关构建层的更多信息,请参阅建筑层

重要提示:由于 中UpdateReplacePolicy资源属性的版本,AWS CloudFormationAWS::Lambda::LayerVersion(推荐)提供了与 相同的好处。AWS::Serverless::LayerVersion

在转换无服务器 LayerVersion 时,SAM 还会转换资源的逻辑 ID,以便 LayerVersions 在更新资源时不会自动删除旧的 CloudFormation。

语法

在您的 中声明此实体 AWS 无服务器应用程序模型 (AWS SAM) 模板时,请使用以下语法。

YAML

Type: AWS::Serverless::LayerVersion Properties: CompatibleRuntimes: List ContentUri: String | LayerContent Description: String LayerName: String LicenseInfo: String RetentionPolicy: String

属性

CompatibleRuntimes

与此 LayerVersion 兼容的运行时列表。

类型:列表

必需: 否

兼容性AWS CloudFormation:此属性直接传递给 CompatibleRuntimes 资源的 AWS::Lambda::LayerVersion 属性。

ContentUri

层代码的 AWS S3 Uri、本地文件路径或 LayerContent 对象。

如果提供了 AWS S3 Uri 或 LayerContent 对象,则引用的 AWS S3 对象必须是包含 AWS Lambda 层内容的有效 ZIP 存档。

如果提供了本地文件路径,则模板必须执行包含 sam deploysam package 命令的工作流程,以便正确转换内容。

类型: String | LayerContent

必需: 是

兼容性AWS CloudFormation:此属性类似于 Content 资源的 AWS::Lambda::LayerVersion 属性。嵌套 Amazon S3 属性的命名方式不同。

Description

此层的描述。

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性直接传递给 Description 资源的 AWS::Lambda::LayerVersion 属性。

LayerName

层的名称或 Amazon 资源名称 (ARN)。

类型:字符串

必需: 否

默认值:资源逻辑 ID

兼容性AWS CloudFormation:此属性类似于 LayerName 资源的 AWS::Lambda::LayerVersion 属性。如果不指定名称,则资源的逻辑 ID 将用作名称。

LicenseInfo

有关此 LayerVersion 的许可证的信息。

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性直接传递给 LicenseInfo 资源的 AWS::Lambda::LayerVersion 属性。

RetentionPolicy

指定在更新后是保留还是删除旧版本的LayerVersion。

有效值Retain 或者 Delete

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

其他说明:当您指定 Retain 时,AWS SAM 会将 资源属性DeletionPolicy: Retain 添加到转换后的 AWS::Lambda::LayerVersion 资源中。

返回值

Ref

当向 Ref 内部函数提供该资源的逻辑 ID 时,它会返回底层 Lambda LayerVersion 的资源 ARN。

有关使用 Ref 函数的更多信息,请参阅 中的 RefAWS CloudFormation 用户指南。

示例

LayerVersionExample

的示例LayerVersion

YAML

Properties: LayerName: MyLayer Description: Layer description ContentUri: 's3://my-bucket/my-layer.zip' CompatibleRuntimes: - nodejs10.x - nodejs12.x LicenseInfo: 'Available under the MIT-0 license.' RetentionPolicy: Retain