View a markdown version of this page

FunctionCode - AWS Serverless Application Model

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

FunctionCode

Lambda 函数的部署程序包

语法

要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

YAML

Bucket: String Key: String StorageMode: String Version: 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

必需:否

默认值COPY

CloudFormation 兼容性:此属性直接传递给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