我正在使用AWS SAM(无服务器应用程序模型)来定义API。定义API网关的部分如下:
...
TestApiGateway:
Type: AWS::Serverless::Api
Properties:
Name: test-api
StageName: Prod
TestApiGatewayDeployment:
Type: AWS::ApiGateway::Deployment
Properties:
DeploymentCanarySettings:
PercentTraffic: 30
Description: Canary deployment settings for API Gateway
RestApiId: !Ref TestApiGateway
StageName: Prod
...
如您所见,我正在尝试为API网关进行Canary发布。它按预期工作。但是在经过Canary Release测试之后,我想将Canary Release推广到生产阶段。
我尝试将 PercentTraffic 设置为0
...
DeploymentCanarySettings:
PercentTraffic: 0
...
但是它不会促进金丝雀的发布。我还尝试将 AWS :: Serverless :: Api 中的部署ID设置为Canary部署ID。
TestApiGateway:
Type: AWS::Serverless::Api
Properties:
Name: test-api
StageName: Prod
CanarySetting:
DeploymentId: <the canary deployment id>
它仍然没有将部署更改为Canary部署。
我的问题是我需要在SAM模板或Cloudformation中做些什么来促进发布?谢谢!