Promozione di una release Canary - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Promozione di una release Canary

Quando promuovi una versione canarina, questa sostituisce le impostazioni correnti dello stage. La promozione di una release Canary non comporta la disabilitazione della release Canary nella fase. Per disabilitare una release Canary, è necessario rimuovere le impostazioni Canary nella fase. Per promuovere un canarino, procedi come segue.

  • Reimpostazione dell'ID distribuzione della fase con le impostazioni dell'ID distribuzione della release Canary. Ciò aggiorna l'APIistantanea dello stage con l'istantanea del canarino, rendendo la versione di prova anche la versione di produzione.

  • Aggiornamento delle variabili di fase con le variabili di fase della release Canary, se presenti. Questo aggiorna il contesto di API esecuzione dello stage con quello del canarino. Senza questo aggiornamento, la nuova API versione potrebbe produrre risultati imprevisti se la versione di test utilizza variabili di fase diverse o valori diversi delle variabili di fase esistenti.

  • Impostazione della percentuale del traffico della release Canary su 0,0%.

Promuovi una versione canary utilizzando la console API Gateway

Per utilizzare la console API Gateway per promuovere una distribuzione della versione Canary, procedi come segue:

Per promuovere l'implementazione di una release Canary
  1. Accedi alla console API Gateway e scegline una esistente API nel pannello di navigazione principale.

  2. Nel riquadro di navigazione principale scegli Fasi, quindi seleziona una fase esistente.

  3. Scegli la scheda Canary.

  4. Scegli Promuovi Canary.

  5. Verifica le modifiche da apportare e scegli Promuovi Canary.

Dopo la promozione, la versione di produzione fa riferimento alla stessa API versione (deploymentId) della versione Canary. È possibile verificarlo utilizzando il AWS CLI. Per un esempio, consulta Promozione di una release Canary con AWS CLI.

Promozione di una release Canary con AWS CLI

Per promuovere una versione canary alla versione di produzione utilizzando AWS CLI i comandi, chiamate il update-stage comando per copiare il file canary-associato deploymentId a quello associato allo stagedeploymentId, per reimpostare la percentuale di traffico canarino su zero (0.0) e per copiare qualsiasi variabile dello stage canary-bound su quelle corrispondenti.

Supponiamo di avere una distribuzione di rilascio di Canary, descritta da una fase simile alla seguente:

{ "_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" } }

Per la promozione, chiamiamo la richiesta update-stage seguente:

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" }]'

Dopo la promozione, la fase ora è come la seguente:

{ "_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" } }

Promuovere una versione Canary Release sullo stage non disabilita la Canary e la distribuzione rimane una distribuzione canary release. Per renderla una normale distribuzione di produzione, è necessario disabilitare le impostazioni Canary. Per ulteriori informazioni su come disabilitare una distribuzione di release Canary, consulta Disabilitazione di una release Canary.