我希望利用 aws sam 进行滚动金丝雀部署(在[此处][1]找到示例)。我不想立即放弃所有客户的部署,并且希望能够在提供流量之前执行验证,并且希望在警报响起时自动回滚。如果我自己编写 sam 模板(而不是使用 cdk 来合成它),它将如下所示:
Resources:
MyLambdaFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs12.x
CodeUri: s3://bucket/code.zip
AutoPublishAlias: live
DeploymentPreference:
Type: Canary10Percent10Minutes
Alarms:
- !Ref AliasErrorMetricGreaterThanZeroAlarm
- !Ref LatestVersionErrorMetricGreaterThanZeroAlarm
Hooks:
PreTraffic: !Ref PreTrafficLambdaFunction
PostTraffic: !Ref PostTrafficLambdaFunction
现在我正在尝试使用 aws cdk 来执行此操作(现在尝试使用 java,因为这是我最熟悉的语言,但我也愿意接受其他语言的示例),但我找不到合适的执行此操作的选项。谁能给我一个使用 cdk 生成它的例子吗?提前致谢。
最佳答案
CfnFunction.DeploymentPreferenceProperty -- 看起来这就是你想要的类,如果其他人正在寻找(来自 sam 依赖项)
关于amazon-web-services - 使用 aws cdk 创建 sam canary 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70028942/