本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DeploymentPreference
指定組態以啟用漸進式 Lambda 部署。如需設定漸進式 Lambda 部署的詳細資訊,請參閱使用 逐步部署無伺服器應用程式 AWS SAM。
注意
您必須在 AutoPublishAlias中指定 AWS::Serverless::Function以使用DeploymentPreference物件,否則將產生錯誤。
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
Alarms:ListEnabled:BooleanHooks:HooksPassthroughCondition:BooleanRole:StringTriggerConfigurations:ListType:String
屬性
-
Alarms -
您希望由部署引發的任何錯誤觸發的 CloudWatch 警示清單。
此屬性接受
Fn::If內部函數。如需使用 的範例範本,請參閱本主題底部的範例一節Fn::If。類型:清單
必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
Enabled -
此部署偏好設定是否已啟用。
類型:布林值
必要:否
預設:True
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
Hooks -
驗證流量轉移前後執行的 Lambda 函數。
類型:勾點
必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
PassthroughCondition -
如果為 true,且啟用此部署偏好設定,則函數的條件會傳遞至產生的 CodeDeploy 資源。一般而言,您應該將此設定為 True。否則,即使函數的條件解析為 False,也會建立 CodeDeploy 資源。
類型:布林值
必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
Role -
CodeDeploy 將用於流量轉移的 IAM 角色 ARN。如果提供此功能,則不會建立 IAM 角色。
類型:字串
必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
TriggerConfigurations -
您要與部署群組建立關聯的觸發組態清單。用來通知生命週期事件的 SNS 主題。
類型:清單
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::CodeDeploy::DeploymentGroup資源的TriggerConfigurations屬性。 -
Type -
目前有兩種類型的部署:線性和 Canary。如需可用部署類型的詳細資訊,請參閱使用 逐步部署無伺服器應用程式 AWS SAM。
類型:字串
必要:是
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
範例
具有流量前後掛鉤的 DeploymentPreference。
包含流量前後掛鉤的範例部署偏好設定。
YAML
DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: - !Ref: AliasErrorMetricGreaterThanZeroAlarm - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm Hooks: PreTraffic: !Ref: PreTrafficLambdaFunction PostTraffic: !Ref: PostTrafficLambdaFunction
具有 Fn::If 內部函數的 DeploymentPreference
Fn::If 用於設定警示的範例部署偏好設定。在此範例中,如果 MyCondition是 ,Alarm1則 會進行設定true,如果 MyCondition是 ,則 Alarm2 Alarm5 會進行設定false。
YAML
DeploymentPreference: Enabled: true Type: Canary10Percent10Minutes Alarms: Fn::If: - MyCondition - - Alarm1 - - Alarm2 - Alarm5