Aggiornamento di una release Canary - Amazon API Gateway

Aggiornamento di una release Canary

Dopo la distribuzione di una release Canary, è possibile modificare la percentuale di traffico nella release Canary oppure abilitare o disabilitare l'uso di una cache di fase per ottimizzare le prestazioni di test. È anche possibile modificare le variabili di fase usate nella release Canary quando il contesto di esecuzione viene aggiornato. Per eseguire tali aggiornamenti, chiama l'operazione stage:update con i nuovi valori in canarySettings.

È possibile aggiornare un rilascio Canary utilizzando la console API Gateway, il comando della AWS CLI CLI update-stage o un SDK AWS.

Aggiornare una release Canary utilizzando la console API Gateway

Per usare la console API Gateway per aggiornare le impostazioni Canary esistenti in una fase, esegui queste operazioni:

Per aggiornare le impostazioni di Canary esistenti
  1. Accedi alla console Gateway API e scegli una REST API esistente.

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

  3. Seleziona la scheda Canary, quindi scegli Modifica. Potrebbe essere necessario scegliere il pulsante freccia destra per visualizzare la scheda Canary.

  4. Aggiorna il campo Distribuzione richiesta aumentando o diminuendo il valore percentuale scegliendo un numero compreso tra 0,0 e 100,0 inclusi.

  5. Seleziona o deseleziona la casella di controllo Cache della fase.

  6. Aggiungi, rimuovi o modifica le Variabili di fase di Canary.

  7. Selezionare Salva.

Aggiornamento di una release Canary con AWS CLI

Per aggiornare un canary usando AWS CLI, utilizza il comando update-stage e modifica l’operazione di patch per ogni parametro del canary.

Il comando update-stage seguente aggiorna se il canary utilizza la cache della fase:

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

Il comando update-stage seguente aggiorna la percentuale di traffico del 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

Il comando update-stage seguente aggiorna le variabili di fase. L’esempio mostra come creare una nuova variabile di fase denominata newVar, sostituire la variabile di fase var2 e rimuovere la variabile di fase 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" }]'

È possibile aggiornare tutti gli elementi precedenti combinando le operazioni in un singolo valore 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" }]'