Продвигать Canary Release для AWS API Gateway с использованием SAM или CloudFormation - PullRequest
0 голосов
/ 19 сентября 2019

Я использую 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
...

Как вы можете видеть, я пытаюсь сделать Canary Release для API-шлюза.Сработало как положено.Но после тестирования Canary Release, я бы хотел продвинуть Canary Release до стадии производства.

Я пытался установить PercentTraffic на 0

...
DeploymentCanarySettings: 
        PercentTraffic: 0
...

Но это не способствует освобождению канарейки.И я также попытался установить идентификатор развертывания в AWS :: Serverless :: Api в качестве канареечного идентификатора развертывания.

TestApiGateway:
    Type: AWS::Serverless::Api
    Properties:
      Name: test-api
      StageName: Prod
      CanarySetting:
        DeploymentId: <the canary deployment id>

Это все еще не изменило развертывание на развертывание канареек.

Мой вопрос заключается в том, что мне нужно сделать в шаблоне SAM или Cloudformation, которые могут способствовать выпуску?Спасибо!

...