DeploymentPreference - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

DeploymentPreference

指定启用渐进式 Lambda 部署的配置。有关配置渐进式 Lambda 部署的更多信息,请参阅逐步部署无服务器应用程.

注意:您必须指定AutoPublishAlias在你的AWS::Serverless::Function要使用DeploymentPreference对象,否则将会导致出现错误。

语法

要在您的中声明此实体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 函数。

类型Hook

必需:否

Amazon CloudFormation兼容性:该属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项

PassthroughCondition

如果为 True,且如果启用了此部署首选项,则函数的条件将传递给生成的 CodeDeploy 资源。通常,您应将此设置为 True。否则为 CodeDeploy 即使函数的条件解析为 False,也会创建资源。

类型:布尔值

必需:否

Amazon CloudFormation兼容性:该属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项

Role

IAM 角色 ARN CodeDeploy 将用于交通转移。如果提供了 IAM 角色,将不会创建。

类型:字符串

必需:否

Amazon CloudFormation兼容性:该属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项

TriggerConfigurations

要与部署组关联的触发器配置列表。用于向 SNS 主题通知生命周期事件。

类型:列表

必需:否

Amazon CloudFormation兼容性:此属性将直接传递给TriggerConfigurations一个的财产AWS::CodeDeploy::DeploymentGroup资源。

Type

目前,有两种类别的部署类型:线性和金丝雀。有关可用部署类型的更多信息请参阅逐步部署无服务器应用程.

类型:字符串

必需:是

Amazon CloudFormation兼容性:该属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项

示例

DeploymentPreference 使用交通前后的钩子。

包含流量前后挂钩的示例部署首选项。

YAML

DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: - Ref: AliasErrorMetricGreaterThanZeroAlarm - Ref: LatestVersionErrorMetricGreaterThanZeroAlarm Hooks: PreTraffic: Ref: PreTrafficLambdaFunction PostTraffic: Ref: PostTrafficLambdaFunction

DeploymentPreference 与 Fn። If 内部函数

使用的示例部署首选项Fn::If用于配置警报。在此示例中,Alarm1将在以下情况下配置MyConditiontrue, 和Alarm2Alarm5将在以下情况下配置MyConditionfalse.

YAML

DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: Fn::If: - MyCondition - - Alarm1 - - Alarm2 - Alarm5