amazon-web-services - 使用 aws cdk 创建 sam canary 部署

标签 amazon-web-services aws-cloudformation aws-cdk aws-sam infrastructure-as-code

我希望利用 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/

相关文章:

aws-cdk - 任何 CDK 示例如何允许 lambda 发布到加密的 SNS 主题?

aws-cloudformation - 使用 CDK Deploy 需要哪些 IAM 权限?

amazon-web-services - 亚马逊负载均衡器

node.js - Nodejs - 使用 Mocha 测试 AWS

amazon-web-services - 如何将一个 AWS CodeCommit 存储库 fork 到另一个 CodeCommit 存储库?

amazon-web-services - AWS CodeBuild Webhook - CloudFormation

amazon-web-services - 堆栈创建卡在 CREATE_IN_PROGRESS 上

aws-cdk - 添加 ec2 实例时使用现有的 vpc 和安全组

amazon-web-services - 适用于 VPC/VPN 的 AWS Cloudfront

amazon-web-services - AWS 聊天机器人未发布到 Slack