本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS::Serverless::LayerVersion
创建包含 Lambda 函数 LayerVersion 所需的库或运行时代码的 Lambda。
该AWS::Serverless::LayerVersion资源还支持 res Metadata
ource 属性,因此您可以指示 AWS SAM 构建应用程序中包含的层。有关构建层的更多信息,请参阅 在 AWS SAM 中构建 Lambda 层。
重要说明:自从UpdateReplacePolicy资源属性发布以来 AWS CloudFormation,AWS::Lambda::LayerVersion(推荐)提供的好处与相同AWS::Serverless::LayerVersion。
转换无服务器 LayerVersion 时,SAM还会转换资源的逻辑 ID,这样资源更新 CloudFormation 时就不会自动删除旧 LayerVersions 的 ID。
注意
部署到时 AWS CloudFormation, AWS SAM 会将您的 AWS SAM 资源转换为 AWS CloudFormation 资源。有关更多信息,请参阅 为 AWS SAM 生成的 AWS CloudFormation 资源。
语法
要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
Type: AWS::Serverless::LayerVersion Properties: CompatibleArchitectures:
List
CompatibleRuntimes:List
ContentUri:String | LayerContent
Description:String
LayerName:String
LicenseInfo:String
RetentionPolicy:String
属性
-
CompatibleArchitectures
-
为层版本指定支持的指令集架构。
有关此属性更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 指令集架构。
有效值:
x86_64
、arm64
类型:列表
必需:否
默认值:
x86_64
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::LayerVersion
资源的CompatibleArchitectures
属性。 -
CompatibleRuntimes
-
与此兼容的运行时列表。 LayerVersion
类型:列表
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::LayerVersion
资源的CompatibleRuntimes
属性。 -
ContentUri
-
Amazon S3 Uri、本地文件夹的路径或层代码的 LayerContent 对象。
如果提供了 Amazon S3 URI 或 LayerContent 对象,则引用的亚马逊 S3 对象必须是包含 Lambda 层内容的有效ZIP档案。
如果提供了本地文件夹的路径,则为使内容正确转换,模板必须经过包括 sam build 以及后续的 sam deploy 或 sam package 的工作流程。默认情况下,相对路径是根据 AWS SAM 模板的位置进行解析的。
类型:字符串 | LayerContent
必需:是
AWS CloudFormation 兼容性:此属性类似于
AWS::Lambda::LayerVersion
资源的Content
属性。嵌套的 Amazon S3 属性的命名有所不同。 -
Description
-
该层的描述。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::LayerVersion
资源的Description
属性。 -
LayerName
-
图层的名称或 Amazon 资源名称 (ARN)。
类型:字符串
必需:否
默认:资源逻辑 ID
AWS CloudFormation 兼容性:此属性类似于
AWS::Lambda::LayerVersion
资源的LayerName
属性。如果您没有指定名称,则将使用资源的逻辑 ID 作为名称。 -
LicenseInfo
-
有关此许可证的信息 LayerVersion。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::LayerVersion
资源的LicenseInfo
属性。 -
RetentionPolicy
-
此属性指定当您删除资源时,是保留还是删除
LayerVersion
的旧版本。如果您在更新或替换资源时需要保留LayerVersion
的旧版本,则必须启用UpdateReplacePolicy
属性。有关执行此操作的信息,请参阅《AWS CloudFormation 用户指南》中的UpdateReplacePolicy
属性。有效值:
Retain
或Delete
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 AWS CloudFormation 等效属性。
其他注意事项:指定后
Retain
, AWS SAM 会DeletionPolicy: Retain
向转换后的AWS::Lambda::LayerVersion
资源添加一个AWS SAM 支持的资源属性。
返回值
Ref
当向Ref
内部函数提供此资源的逻辑 ID 时,它将返回底层 Lambda ARN 的资源。 LayerVersion
有关使用 Ref
函数的更多信息,请参阅《AWS CloudFormation 用户指南》中的 Ref
。
示例
LayerVersionExample
的示例 LayerVersion
YAML
Properties: LayerName: MyLayer Description: Layer description ContentUri: 's3://amzn-s3-demo-bucket/my-layer.zip' CompatibleRuntimes: - nodejs10.x - nodejs12.x LicenseInfo: 'Available under the MIT-0 license.' RetentionPolicy: Retain