Mise à jour d’une version Canary - Amazon API Gateway

Mise à jour d’une version Canary

Après avoir déployé une version Canary, vous pouvez souhaiter ajuster le pourcentage du trafic Canary ou activer/désactiver l’utilisation d’un cache d’étape pour optimiser les performances de test. Vous pouvez également modifier les variables d’étape utilisées dans la version Canary lors de la mise à jour du contexte d’exécution. Pour effectuer de telles mises à jour, appelez l’opération stage:update avec des nouvelles valeurs dans canarySettings.

Vous pouvez mettre à jour une version Canary à l’aide de la console API Gateway, de la commande update-stage de la AWS CLI ou d’un kit SDK AWS.

Mise à jour d’une version Canary à l’aide de la console API Gateway

Pour mettre à jour les paramètres Canary existants d’une étape à l’aide de la console API Gateway, procédez comme suit :

Pour mettre à jour les paramètres canary existants
  1. Connectez-vous à la console API Gateway et choisissez l’API REST existante.

  2. Dans le volet de navigation principal, choisissez Étapes, puis choisissez une étape existante.

  3. Choisissez l’onglet Canary, puis Modifier. Vous devrez peut-être choisir la flèche droite pour afficher l'onglet Canary.

  4. Mettez à jour Distribution de demande en augmentant ou en diminuant la valeur de pourcentage entre 0,0 et 100,0 (inclus).

  5. Activez ou désactivez la case à cocher Cache d’étape.

  6. Ajoutez, supprimez ou modifiez Variables d’étape Canary.

  7. Choisissez Save (Enregistrer).

Mise à jour d’une version Canary à l’aide de l’AWS CLI

Afin d’utiliser AWS CLI pour mettre à jour un canary, utilisez la commande update-stage et modifiez l’opération de correctif pour chaque paramètre du canary.

La commande update-stage suivante effectue une mise à jour si le canary utilise le cache de l’étape :

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/useStageCache,value=true

La commande update-stage suivante met à jour le pourcentage de trafic canary :

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0

La commande update-stage suivante met à jour les variables de l’étape. L’exemple suivant montre comment créer une variable d’étape nommée newVar, remplacer la variable d’étape var2 et supprimer la variable d’étape 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" }]'

Vous pouvez mettre à jour tout ce qui précède en combinant les opérations dans une même valeur 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" }]'