本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DeploymentPreference
指定启用逐步 Lambda 部署的配置。有关配置逐步 Lambda 部署的更多信息,请参阅 使用 Amazon SAM 逐步部署无服务器应用程序。
注意
要使用 DeploymentPreference
对象,必须在 AWS::Serverless::Function 中指定 AutoPublishAlias
,否则将导致错误。
语法
要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
Alarms:
List
Enabled:Boolean
Hooks:Hooks
PassthroughCondition:Boolean
Role:String
TriggerConfigurations:List
Type:String
属性
-
Alarms
-
您希望通过部署引发的任何错误触发的 CloudWatch 警报列表。
此属性接受
Fn::If
内置函数。有关使用Fn::If
的示例模板,请参阅本主题底部的“示例”部分。类型:列表
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
Enabled
-
是否启用此部署首选项。
类型:布尔值
必需:否
默认值:True
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
Hooks
-
流量转移之前和之后运行的验证 Lambda 函数。
类型:钩子
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
PassthroughCondition
-
如果为 True,并且启用了此部署首选项,则该函数的条件将传递给生成的 CodeDeploy 资源。通常,应将其设置为 True。否则,即使函数的条件解析为 False,也会创建 CodeDeploy 资源。
类型:布尔值
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
Role
-
CodeDeploy 将用于流量转移的 IAM 角色 ARN。如有提供,则不会创建 IAM 角色。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
TriggerConfigurations
-
要与部署组关联的触发器配置列表。用于通知有关生命周期事件的 SNS 主题。
类型:列表
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::CodeDeploy::DeploymentGroup
资源的TriggerConfigurations
属性。 -
Type
-
目前有两类部署类型:线性和金丝雀。有关可用部署类型的更多信息,请参阅 使用 Amazon SAM 逐步部署无服务器应用程序。
类型:字符串
必需:是
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
示例
带有流量前后钩子的部署首选项。
包含流量前后钩子的部署首选项示例。
YAML
DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: - !Ref: AliasErrorMetricGreaterThanZeroAlarm - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm Hooks: PreTraffic: !Ref: PreTrafficLambdaFunction PostTraffic: !Ref: PostTrafficLambdaFunction
使用 Fn::If 内置函数的部署首选项
使用 Fn::If
配置警报的部署首选项示例。在本示例中,如果 MyCondition
为 true
,则将配置 Alarm1
;如果 MyCondition
为 false
,则将配置 Alarm2
和 Alarm5
。
YAML
DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: Fn::If: - MyCondition - - Alarm1 - - Alarm2 - Alarm5