本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
FunctionCode
Lambda 函数的部署程序包。
语法
要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
Bucket:StringKey:StringStorageMode:StringVersion:String
Properties
-
Bucket -
与您的函数位于同一 AWS 区域的 Amazon S3 存储桶。
类型:字符串
是否必需:是
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的S3Bucket属性。 -
Key -
部署程序包的 Amazon S3 密钥。
类型:字符串
是否必需:是
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的S3Key属性。 -
StorageMode -
控制 Lambda 存储部署包的方式。
-
COPY— Lambda 将部署包的副本上传到存储。 Lambda-managed 在 Lambda 创建该函数后,您可以删除 Amazon S3 对象。 -
REFERENCE— Lambda 引用了您的 Amazon S3 存储桶中的部署包,并且不存储副本。该对象必须在函数的生命周期内保持原位,而且 Lambda 必须保持对该对象的访问权限。
要使用
REFERENCE,请在您的 Amazon S3 存储桶上启用版本控制,并授予 Lambda 服务主体对该对象的访问权限。有关更多信息,请参阅AWS Lambda 开发人员指南中的 Self-managed Amazon S3 代码存储。类型:字符串
有效值:
COPY|REFERENCE必需:否
默认值:
COPYCloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的S3ObjectStorageMode属性。 -
-
Version -
对于版本控制的对象,指要使用的部署程序包对象的版本。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的S3ObjectVersion属性。
示例
FunctionCode
CodeUri:函数代码示例
YAML
CodeUri: Bucket: sam-s3-demo-bucket-name Key: mykey-name Version: 121212
Self-managed 亚马逊 S3 代码存储
以下内容CodeUri引用了您自己的 Amazon S3 存储桶中的部署包,而不是将其复制到 Lambda-managed 存储。
YAML
CodeUri: Bucket: amzn-s3-demo-bucket-name Key: mykey-name Version: 121212 StorageMode: REFERENCE