Promotion d'une version Canary - APIPasserelle Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Promotion d'une version Canary

Lorsque vous faites la promotion d'une version de Canary, celle-ci remplace les paramètres de scène actuels. La promotion d'une version Canary n'a pas pour effet de la désactiver au niveau de l'étape. Pour désactiver une version Canary, vous devez supprimer les paramètres Canary de l'étape. Pour promouvoir un canari, procédez comme suit.

  • Réinitialisez l'ID de déploiement de l'étape avec les paramètres d'ID de déploiement de la version Canary. Cela met à jour l'APIinstantané de la scène avec l'instantané du canari, faisant de la version de test également la version de production.

  • Mise à jour des variables d'étape par rapport aux variables d'étape Canary, le cas échéant. Cela met à jour le contexte d'APIexécution de l'étape avec celui du canari. Sans cette mise à jour, la nouvelle API version peut produire des résultats inattendus si la version de test utilise des variables d'étape différentes ou des valeurs différentes des variables d'étape existantes.

  • Définition du pourcentage de trafic Canary sur 0.0%.

Promouvoir une version de Canary à l'aide de la console API Gateway

Pour utiliser la console API Gateway afin de promouvoir le déploiement d'une version Canary, procédez comme suit :

Pour promouvoir un déploiement de version canary
  1. Connectez-vous à la console API Gateway et choisissez-en un existant API dans le volet de navigation principal.

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

  3. Choisissez l'onglet Canary.

  4. Choisissez Promouvoir Canary.

  5. Confirmez les modifications à apporter, puis choisissez Promouvoir Canary.

Après la promotion, la version de production fait référence à la même API version (deploymentId) que la version Canary. Vous pouvez le vérifier à l'aide du AWS CLI. Pour obtenir un exemple, consultez Promotion d'une version Canary à l'aide de l AWS CLI.

Promotion d'une version Canary à l'aide de l AWS CLI

Pour promouvoir une version de Canary en version de production à l'aide des AWS CLI commandes, appelez la update-stage commande pour copier la version associée au canary deploymentId vers la version associée à l'étapedeploymentId, pour remettre le pourcentage de trafic Canary à zéro (0.0) et pour copier toutes les variables d'étape liées au canary dans celles liées à l'étape correspondantes.

Supposons que nous ayons un déploiement de version canary, décrit par une phase semblable à la suivante :

{ "_links": { ... }, "accessLogSettings": { ... }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "canarySettings": { "deploymentId": "eh1sby", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" }, "percentTraffic": 10.5 }, "createdDate": "2017-11-20T04:42:19Z", "deploymentId": "nfcn0x", "lastUpdatedDate": "2017-11-22T00:54:28Z", "methodSettings": { ... }, "stageName": "prod", "variables": { "sv1": "val1" } }

Nous appelons la demande update-stage ci-dessous pour en assurer la promotion :

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "value": "0.0", "path": "/canarySettings/percentTraffic" }, { "op": "copy", "from": "/canarySettings/stageVariableOverrides", "path": "/variables" }, { "op": "copy", "from": "/canarySettings/deploymentId", "path": "/deploymentId" }]'

Après fois la promotion, l'étape se présente comme suit :

{ "_links": { ... }, "accessLogSettings": { ... }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "canarySettings": { "deploymentId": "eh1sby", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" }, "percentTraffic": 0 }, "createdDate": "2017-11-20T04:42:19Z", "deploymentId": "eh1sby", "lastUpdatedDate": "2017-11-22T05:29:47Z", "methodSettings": { ... }, "stageName": "prod", "variables": { "sv2": "val3", "sv1": "val2" } }

La promotion d'une version Canary sur scène ne désactive pas Canary et le déploiement reste un déploiement de version Canary. Pour rendre régulier un déploiement de la version de production, vous devez désactiver la configuration canary. Pour plus d'informations sur la façon de désactiver un déploiement de version canary, consultez Désactivation d'une version canary.