AWS CloudFormation
User Guide (API 版本 2010-05-15)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

AWS::Lambda::Alias

AWS::Lambda::Alias 资源创建指向您指定的 AWS Lambda (Lambda) 函数版本的别名。在您希望控制其他服务或应用程序调用您的函数的哪个版本时,使用别名。这些服务或应用程序可以使用您的函数的别名,这样就无需在您发布函数的新版本时进行更新。有关更多信息,请参阅 AWS Lambda Developer Guide 中的 AWS Lambda 别名简介

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Lambda::Alias", "Properties" : { "Description" : String, "FunctionName" : String, "FunctionVersion" : String, "Name" : String, "RoutingConfig" : AliasRoutingConfiguration } }

YAML

Type: "AWS::Lambda::Alias" Properties: Description: String FunctionName: String FunctionVersion: String Name: String RoutingConfig: AliasRoutingConfiguration

属性

Description

有关别名的信息,例如其用途或与其所关联的 Lambda 函数。

Required: No

Type: String

更新要求无需中断

FunctionName

您希望与此别名关联的 Lambda 函数。您可以指定函数的名称或其 Amazon 资源名称 (ARN)。

Required: Yes

Type: String

更新要求替换

FunctionVersion

您希望与此别名关联的 Lambda 函数的版本。

Required: Yes

Type: String

更新要求无需中断

Name

别名的名称。

Required: Yes

Type: String

更新要求替换

RoutingConfig

使用此参数可将您的别名指向两个不同的函数版本,从而允许您指明多少百分比的流量将调用每个版本。有关更多信息,请参阅 AWS Lambda Developer Guide 中的使用别名将流量路由到不同的函数版本

必需:否

类型AWS Lambda 别名 AliasRoutingConfiguration

更新要求无需中断

返回值

Ref

Ref 内部函数提供此资源的逻辑 ID 时,Ref 返回 Lambda 别名的 ARN。

有关使用 Ref 功能的更多信息,请参阅参考

示例

Lambda 别名

以下示例创建名为 TestingForMyApp 的别名。该别名指向 MyFunction Lambda 函数的 TestingNewFeature 版本。

JSON

"AliasForMyApp" : { "Type" : "AWS::Lambda::Alias", "Properties" : { "FunctionName" : { "Ref" : "MyFunction" }, "FunctionVersion" : { "Fn::GetAtt" : [ "TestingNewFeature", "Version" ] }, "Name" : "TestingForMyApp" } }

YAML

AliasForMyApp: Type: "AWS::Lambda::Alias" Properties: FunctionName: Ref: "MyFunction" FunctionVersion: Fn::GetAtt: - "TestingNewFeature" - "Version" Name: "TestingForMyApp"

Lambda 别名更新策略

以下示例定义别名的更新策略。

JSON

"Alias": { "Type": "AWS::Lambda::Alias", "Properties": { "FunctionName": { "Ref": "LambdaFunction" }, "FunctionVersion": { "Fn::GetAtt": [ "FunctionVersionTwo", "Version" ] }, "Name": "MyAlias" }, "UpdatePolicy": { "CodeDeployLambdaAliasUpdate": { "ApplicationName": { "Ref": "CodeDeployApplication" }, "DeploymentGroupName": { "Ref": "CodeDeployDeploymentGroup" }, "BeforeAllowTrafficHook": { "Ref": "PreHookLambdaFunction" }, "AfterAllowTrafficHook": { "Ref": "PreHookLambdaFunction" } } } }

YAML

Alias: Type: 'AWS::Lambda::Alias' Properties: FunctionName: !Ref LambdaFunction FunctionVersion: !GetAtt FunctionVersionTwo.Version Name: MyAlias UpdatePolicy: CodeDeployLambdaAliasUpdate: ApplicationName: !Ref CodeDeployApplication DeploymentGroupName: !Ref CodeDeployDeploymentGroup BeforeAllowTrafficHook: !Ref PreHookLambdaFunction AfterAllowTrafficHook: !Ref PreHookLambdaFunction

本页内容: