本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 deploy
或sam 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
函数的更多信息,请参阅 中的 Ref
AWS 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