Após uma versão canary ser implantada, ajuste a porcentagem do tráfego canary ou ative ou desative o uso de um cache do estágio para otimizar a performance. Você também pode modificar as variáveis de estágio usadas na versão canary quando o contexto de execução é atualizado. Para fazer essas atualizações, chame a operação stage:update com novos valores em canarySettings.
Você pode atualizar um lançamento canary usando o console do API Gateway, o comando da AWS CLI update-stage ou um SDK da AWS.
Tópicos
Atualizar uma versão canary usando o console do API Gateway
Para usar o console do API Gateway para atualizar as configurações do canary existentes em um estágio, faça o seguinte:
Como atualizar as configurações existentes do canário
-
Faça login no console do API Gateway e selecione uma API REST existente.
-
No painel de navegação principal, selecione Estágios e escolha um estágio existente.
-
Selecione a guia Canário e Editar. Talvez seja necessário escolher o botão de seta para a direita para mostrar a guia Canário.
-
Atualize Solicitar distribuição aumentando ou diminuindo a porcentagem entre 0,0 e 100,0.
-
Marque ou desmarque a caixa de seleção Cache de estágio.
-
Adicione, remova ou modifique as Variáveis de estágio de canário.
-
Escolha Salvar.
Atualizar uma versão canary usando a AWS CLI
Para atualizar um canário por meio da AWS CLI, use o comando update-stage
e modifique a operação de patch para cada parâmetro do canário.
O comando update-stage indicado abaixo atualiza se o canário usar o cache de estágio:
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/useStageCache,value=true
O comando update-stage indicado abaixo atualiza a porcentagem de tráfego do canário:
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0
O comando update-stage a seguir atualiza as variáveis de estágio. O exemplo mostra como criar uma variável de estágio chamada newVar
, substituir a variável de estágio var2
e remover a variável de estágio var1
:
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/var2", "value": "val4" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }]'
Você pode atualizar todas acima combinando as operações em um único valor patch-operations
:
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/percentTraffic", "value": "20.0" }, { "op": "replace", "path": "/canarySettings/useStageCache", "value": "true" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/val2", "value": "val4" }]'