本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS::Serverless::Function
创建触发该 AWS Lambda 函数的函数、 AWS Identity and Access Management (IAM) 执行角色和事件源映射。
该AWS::Serverless::Function资源还支持 r Metadata esource 属性,因此您可以指示 AWS SAM 构建应用程序所需的自定义运行时。有关构建自定义运行时系统的更多信息,请参阅 在 AWS SAM 中构建具有自定义运行时的 Lambda 函数。
注意
部署到时 AWS CloudFormation, AWS SAM 会将您的 AWS SAM 资源转换为 CloudFormation 资源。有关更多信息,请参阅 为 AWS SAM 生成的 CloudFormation 资源。
语法
要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
Type: AWS::Serverless::Function Properties: Architectures:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCapacityProviderConfig:CapacityProviderConfigCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringDurableConfig:DurableConfigEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionScalingConfig:FunctionScalingConfigFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPublishToLatestPublished:BooleanPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTenancyConfig:TenancyConfigTimeout:IntegerTracing:StringVersionDescription:StringVersionDeletionPolicy:StringVpcConfig:VpcConfig
Properties
-
Architectures -
该函数的指令集架构。
有关此属性更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 指令集架构。
有效值:
x86_64或arm64之一。类型:列表
必需:否
默认值:
x86_64CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Architectures属性。 -
AssumeRolePolicyDocument -
AssumeRolePolicyDocument 为该函数创建
Role的默认值添加一个。如果未指定此属性,则为该函数 AWS SAM 添加默认的代入角色。类型:JSON
必需:否
CloudFormation 兼容性:此属性类似于
AWS::IAM::Role资源的AssumeRolePolicyDocument属性。 AWS SAM 将此属性添加到为此函数生成的 IAM 角色中。如果为此函数提供了角色的 Amazon 资源名称(ARN),则此属性将不执行任何操作。 -
AutoPublishAlias -
Lambda 别名的名称。要了解有关 Lambda 别名的更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 函数别名。有关使用此属性的示例,请参见 使用 AWS SAM 逐步部署无服务器应用程序。
AWS SAM 设置此属性时生成AWS::Lambda::Version和AWS::Lambda::Alias资源。有关此场景的更多信息,请参阅指定了 AutoPublishAlias 属性。有关生成的 CloudFormation 资源的一般信息,请参阅为 AWS SAM 生成的 CloudFormation 资源。
类型:字符串
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
AutoPublishAliasAllProperties -
指定何时创建新的
AWS::Lambda::Version。当为true时,修改 Lambda 函数中的任何属性时,就会创建新的 Lambda 版本。当为false时,只有修改了以下任何属性时,才会创建新的 Lambda 版本:-
Environment、MemorySize或者SnapStart。 -
导致
Code属性更新的任何更改,例如CodeDict、ImageUri、或InlineCode。
此属性需要定义
AutoPublishAlias。如果也指定
AutoPublishCodeSha256,则其行为优先于AutoPublishAliasAllProperties: true。类型:布尔值
必需:否
默认值:
falseCloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
-
AutoPublishCodeSha256 -
使用时,此字符串将与
CodeUri值一起确定是否需要发布新的 Lambda 版本。此属性通常用于解决以下部署问题:部署包存储在 Amazon S3 位置,且被包含更新后的 Lambda 函数代码的新部署包取代,但CodeUri属性保持不变(相反情况是新的部署包上传到新的 Amazon S3 位置并且CodeUri更改为新位置)。此问题由具有以下特征的 AWS SAM 模板标记:
DeploymentPreference对象配置为逐步部署(如使用 AWS SAM 逐步部署无服务器应用程序中所述)AutoPublishAlias属性已设置,且在部署之间不会更改CodeUri属性已设置,且在部署之间不会更改。
在这种情况下,更新
AutoPublishCodeSha256会导致成功创建新的 Lambda 版本。但是,部署到 Amazon S3 的新函数代码将无法识别。要识别新的函数代码,请考虑在 Amazon S3 存储桶中使用版本控制。为 Lambda 函数指定Version属性,并将存储桶配置为始终使用最新的部署包。在这种情况下,要成功触发逐步部署,必须为
AutoPublishCodeSha256提供一个唯一的值。类型:字符串
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
CapacityProviderConfig -
配置要将函数的已发布版本附加到的容量提供商。这使该函数能够在由 Lambda 托管 EC2 实例管理的客户拥有的实例上运行。
必需:否
CloudFormation 兼容性:SAM 对传递给
AWS::Lambda::Function资源属性的CapacityProviderConfig属性进行扁平化并重构嵌套结构。 -
CodeSigningConfigArn -
AWS::Lambda::CodeSigningConfig 资源的 ARN,用于为此函数启用代码签名。有关代码签名的更多信息,请参阅 为您的 AWS SAM 应用程序设置代码签名。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的CodeSigningConfigArn属性。 -
CodeUri -
函数的代码。可接受的值包括:
-
该函数的 Amazon S3 URI。例如
s3://bucket-123456789/sam-app/1234567890abcdefg。 -
函数的本地路径。例如
hello_world/。 -
一个 FunctionCode 对象。
注意
如果您提供函数的 Amazon S3 URI 或 FunctionCode 对象,则必须引用有效的 Lambda 部署包。
如果您提供本地文件路径,请在部署时使用 AWS SAM CLI 上传本地文件。要了解更多信息,请参阅AWS SAM 如何在部署时上传本地文件。
如果你在
CodeUri属性中使用内部函数, AWS SAM 将无法正确解析这些值。请考虑改用AWS::Language扩展程序转换。类型:[ 字符串 | FunctionCode ]
必填:条件性。当
PackageType设置为Zip时,则CodeUri或InlineCode中的一种为必需。CloudFormation 兼容性:此属性类似于
AWS::Lambda::Function资源的Code属性。嵌套的 Amazon S3 属性的命名有所不同。 -
-
DeadLetterQueue -
在 Lambda 发送无法处理的事件时配置 Amazon Simple Notification Service (Amazon SNS)主题或 Amazon Simple Queue Service (Amazon SQS) 队列。有关死信队列功能的更多信息,请参阅《AWS Lambda 开发人员指南》中的死信队列。
注意
如果您的 Lambda 函数的事件源是 Amazon SQS 队列,请为源队列而不是 Lambda 函数配置死信队列。您为函数配置的死信队列用于函数的异步调用队列,而不是用于事件源队列。
类型:地图 | DeadLetterQueue
必需:否
CloudFormation 兼容性:此属性类似于
AWS::Lambda::Function资源的DeadLetterConfig属性。在 CloudFormation 中,类型是派生自的TargetArn,而在中, AWS SAM 你必须将类型与一起传递TargetArn。 -
DeploymentPreference -
用于启用逐步 Lambda 部署的设置。
如果指定了
DeploymentPreference对象,则 AWS SAM 会创建一个AWS::CodeDeploy::Application被调用对象ServerlessDeploymentApplication(每个堆栈一个)、一个AWS::CodeDeploy::DeploymentGroup被调用对象和一个AWS::IAM::Role被调用对象<function-logical-id>DeploymentGroupCodeDeployServiceRole。必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
另请参阅:有关此属性的更多信息,请参阅 使用 AWS SAM 逐步部署无服务器应用程序。
-
Description -
该函数的描述。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Description属性。 -
DurableConfig -
耐用功能的配置。通过自动检查点和重播功能启用有状态执行。
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
Environment -
运行时系统环境的配置。
类型:环境
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Environment属性。 -
EphemeralStorage -
指定
/tmp中 Lambda 函数可用的磁盘空间(以 MB 为单位)的对象。有关此属性的更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 执行环境。
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的EphemeralStorage属性。 -
EventInvokeConfig -
描述 Lambda 函数的事件调用配置的对象。
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
Events -
指定触发此函数的事件。事件由一个类型和一组依赖于该类型的属性组成。
类型:EventSource
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
FileSystemConfigs -
指定亚马逊弹性文件系统 (Amazon EFS) 文件系统的连接设置的FileSystemConfig对象列表。
如果模板包含 AWS::EFS::MountTarget 资源,您还必须指定一个
DependsOn资源属性,以确保在函数之前创建或更新装载目标。类型:列表
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的FileSystemConfigs属性。 -
FunctionName -
函数的名称。如果您没有指定名称,则系统为您生成唯一的名称。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的FunctionName属性。 -
FunctionScalingConfig -
为在容量提供程序上运行的 Lambda 函数配置扩展行为。定义执行环境的最小和最大数量。
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的FunctionScalingConfig属性。 -
FunctionUrlConfig -
描述函数 URL 的对象。函数 URL 是可用于调用函数的 HTTPS 端点。
有关更多信息,请参阅《AWS Lambda 开发者指南》URLs中的函数。
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
Handler -
代码中被调用以开始执行的函数。仅当属性
PackageType为Zip时,该属性是必需属性。类型:字符串
必需:条件
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Handler属性。 -
ImageConfig -
用于配置 Lambda 容器映像设置的对象。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的将容器映像与 Lambda 结合使用。
类型:ImageConfig
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的ImageConfig属性。 -
ImageUri -
Lambda 函数容器映像的 Amazon Elastic Container Registry (Amazon ECR) 存储库 URI 仅当
PackageType属性设置为Image时,此属性才适用,否则将被忽略。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的将容器映像与 Lambda 结合使用。注意
如果将该
PackageType属性设置为Image,ImageUri则要么为必填项,要么必须使用 AWS SAM 模板文件中的必要Metadata条目来构建应用程序。有关更多信息,请参阅 使用 AWS SAM 进行默认构建。使用必要的
Metadata条目构建应用程序优先于ImageUri,因此,如果您同时指定两者,则ImageUri会被忽略。类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的ImageUri属性。 -
InlineCode -
直接在模板中编写的 Lambda 函数代码。仅当
PackageType属性设置为Zip时,此属性才适用,否则将被忽略。注意
如果
PackageType属性设置为Zip(默认),则CodeUri或InlineCode中的一个为必需。类型:字符串
必需:条件
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的ZipFile属性。 -
KmsKeyArn -
Lambda 用来加密和解密函数环境变量的 AWS Key Management Service (AWS KMS) 密钥的 ARN。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的KmsKeyArn属性。 -
Layers -
此函数应使用的列表。
LayerVersionARNs 此处指定的顺序是运行 Lambda 函数时它们的导入顺序。该版本要么是包含版本的完整 ARN,要么是对资源的引用。 LayerVersion 例如,对LayerVersion的引用为!Ref MyLayer,而包含版本号的完整 ARN 为arn:aws:lambda:。region:account-id:layer:layer-name:version类型:列表
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Layers属性。 -
LoggingConfig -
该函数的 Amazon CloudWatch 日志配置设置。
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的LoggingConfig属性。 -
MemorySize -
每次调用函数时分配的内存大小(以 MB 为单位)。
类型:整数
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的MemorySize属性。 -
PackageType -
Lambda 函数的部署包类型。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的Lambda 部署包。
备注:
1. 如果此属性设置为
Zip(默认),则将应用CodeUri或InlineCode,并忽略ImageUri。2. 如果此属性设置为
Image,则仅应用ImageUri,并忽略CodeUri和InlineCode。存储函数容器镜像所需的 Amazon ECR 存储库可以由自动创建。 AWS SAMCLI有关更多信息,请参阅 sam deploy。有效值:
Zip或Image类型:字符串
必需:否
默认值:
ZipCloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的PackageType属性。 -
PermissionsBoundary -
用于此函数执行角色的权限边界的 ARN。仅当为您生成角色时,此属性才起作用。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::IAM::Role资源的PermissionsBoundary属性。 -
Policies -
此函数的权限策略。策略将附加到函数的默认 AWS Identity and Access Management (IAM) 执行角色中。
此属性接受单个值或值列表。允许的值包括:
-
以下列表
中 AWS 托管策略的名称。 -
在 YAML 中格式化为映射的内联 IAM policy。
注意
如果指定
Role属性,则将忽略该属性。类型:字符串 | 列表 | 映射
必需:否
CloudFormation 兼容性:此属性类似于
AWS::IAM::Role资源的Policies属性。 -
PublishToLatestPublished -
指定在函数更新时是否发布最新的函数版本。
类型:布尔值
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的PublishToLatestPublished属性。 -
指明是否将
Tags属性中的标签传递给 AWS::Serverless::Function 生成的资源。指定True以在生成的资源中传播标签。类型:布尔值
必需:否
默认值:
FalseCloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。
-
ProvisionedConcurrencyConfig -
函数别名的预置并发配置。
注意
仅当设置
AutoPublishAlias时才可以指定ProvisionedConcurrencyConfig。否则将导致错误。类型:ProvisionedConcurrencyConfig
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Alias资源的ProvisionedConcurrencyConfig属性。 -
RecursiveLoop -
函数的递归循环检测配置的状态。
当此值设置为
Allow且 Lambda 检测到您的函数作为递归循环的一部分调用时,它不会采取任何操作。当此值设置为
Terminate且 Lambda 检测到您的函数作为递归循环的一部分调用时,它会停止调用函数并通知您。类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的RecursiveLoop属性。 -
ReservedConcurrentExecutions -
希望为函数预留的最大并发执行数。
有关此属性更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 函数扩展。
类型:整数
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的ReservedConcurrentExecutions属性。 -
Role -
要用作此函数执行角色的 IAM 角色的 ARN。
类型:字符串
必需:否
CloudFormation 兼容性:此属性类似于
AWS::Lambda::Function资源的Role属性。这在中是必需的 CloudFormation ,但不是必填的 AWS SAM。如果未指定角色,则会为您创建一个逻辑 ID 为的角色。<function-logical-id>Role -
RolePath -
函数的 IAM 执行角色的路径。
生成角色时请使用此属性。当使用
Role属性指定角色时,请勿使用。类型:字符串
必需:条件
CloudFormation 兼容性:此属性直接传递给
AWS::IAM::Role资源的Path属性。 -
Runtime -
函数的运行时的标识符。仅当属性
PackageType为Zip时,该属性是必需属性。注意
如果为此属性指定标
provided识符,则可以使用 resMetadataource 属性 AWS SAM 来指示构建此函数所需的自定义运行时。有关构建自定义运行时系统的更多信息,请参阅 在 AWS SAM 中构建具有自定义运行时的 Lambda 函数。类型:字符串
必需:条件
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Runtime属性。 -
RuntimeManagementConfig -
为 Lambda 函数配置运行时系统管理选项,例如运行时环境更新、回滚行为以及选择特定的运行时版本。要了解更多信息,请参阅《AWS Lambda 开发人员指南》中的 Lambda 运行时系统更新。
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的RuntimeManagementConfig属性。 -
SnapStart -
创建任何新 Lambda 函数版本的快照。快照是初始化函数的缓存状态,包括其所有依赖项。函数仅被初始化一次,缓存的状态将在未来的所有调用中重复使用,从而通过减少必须初始化函数的次数来提高应用程序性能。要了解更多信息,请参阅AWS Lambda 开发人员指南SnapStart中的使用 Lambda 提高启动性能。
类型:SnapStart
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的SnapStart属性。 -
SourceKmsKeyArn -
代表用于加密客户 ZIP 功能代码的 KMS 密钥 ARN。
类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::FunctionCode数据类型的SourceKmsKeyArn属性。 -
指定添加到此函数的标签的映射(字符串到字符串)。有关标签的有效键和值的详细信息,请参阅《AWS Lambda 开发人员指南》中的标签键和值要求。
创建堆栈后, AWS SAM 会自动向此 Lambda 函数以及为此函数生成的默认角色添加
lambda:createdBy:SAM标签。类型:映射
必需:否
CloudFormation 兼容性:此属性类似于
AWS::Lambda::Function资源的Tags属性。中的Tags属性由键值对 AWS SAM 组成(而 CloudFormation 在此属性中则由Tag对象列表组成)。此外,还 AWS SAM 会自动向此 Lambda 函数以及为此函数生成的默认角色添加lambda:createdBy:SAM标签。 -
TenancyConfig -
Lambda 租户隔离模式的配置。确保不同租户之间永远不会共享执行环境 IDs,从而为多租户应用程序提供计算级隔离。
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的TenancyConfig属性。 -
Timeout -
函数在停止之前可以运行的最长时间(以秒为单位)。
类型:整数
必需:否
原定设置值:3
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的Timeout属性。 -
Tracing -
指定函数的 X-Ray 跟踪模式的字符串。
-
Active– 为该函数激活 X-Ray 跟踪 -
Disabled– 为该函数停用 X-Ray 跟踪 -
PassThrough– 为该函数激活 X-Ray 跟踪 采样决策委托给下游服务。
如果指定为
Active或PassThrough且未设置Role属性,则 AWS SAM 会将arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess策略添加到它为您创建的 Lambda 执行角色中。有关 X-Ray 的更多信息,请参阅《AWS Lambda 开发者指南》 AWS X-Ray中的 “AWS Lambda 与一起使用”。
有效值:[
Active|Disabled|PassThrough]类型:字符串
必需:否
CloudFormation 兼容性:此属性类似于
AWS::Lambda::Function资源的TracingConfig属性。 -
-
VersionDescription -
指定在新的 Lambda 版本资源上添加的
Description字段。类型:字符串
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Version资源的Description属性。 -
VersionDeletionPolicy -
为设置时
AutoPublishAlias创建的 Lambda 版本资源指定删除策略。这控制了删除堆栈时是保留还是删除版本资源。有效值:
Delete、Retain或Snapshot类型:字符串
必需:否
CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 CloudFormation 等效属性。它在生成的
AWS::Lambda::Version资源上设置DeletionPolicy属性。 -
VpcConfig -
该配置使该函数能够访问您的虚拟私有云(VPC)中的私有资源。
类型:VpcConfig
必需:否
CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的VpcConfig属性。
返回值
Ref
当向 Ref 内置函数提供此资源的逻辑 ID 时,将返回底层 Lambda 函数的资源名称。
有关使用 Ref 函数的更多信息,请参阅《AWS CloudFormation 用户指南》中的 Ref。
Fn:: GetAtt
Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。
有关使用 Fn::GetAtt 的更多信息,请参阅《AWS CloudFormation 用户指南》中的 Fn::GetAtt。
Arn-
底层 Lambda 函数的 ARN。
示例
简单函数
以下是 Amazon S3 存储桶中包类型为 Zip(默认)的 AWS::Serverless::Function 资源和函数代码的基本示例。
YAML
Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name
函数属性示例
以下是使用 InlineCode、Layers、Tracing、Policies、Amazon EFS和 Api 事件源的包类型为 Zip(默认)的 AWS::Serverless::Function 示例。
YAML
Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17 ' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfig 示例
以下是包类型为 Image 的 Lambda 函数的 ImageConfig 示例。
YAML
HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri:account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-nameImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"
RuntimeManagementConfig 例子
配置为根据当前行为更新其运行时环境的 Lambda 函数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto
配置为在函数更新时更新其运行时环境的 Lambda 函数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate
配置为手动更新其运行时环境的 Lambda 函数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual
SnapStart 示例
在未来版本中 SnapStart 启用的 Lambda 函数示例:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions
TenancyConfig 例子
开启租户隔离模式的 Lambda 函数示例:
TestFunction Type: AWS::Serverless::Function Properties: ... TenancyConfig: TenantIsolationMode: PER_TENANT