Aktualisieren eines Canary-Releases - Amazon API Gateway

Aktualisieren eines Canary-Releases

Nach der Bereitstellung eines Canary-Releases können Sie den prozentualen Anteil des Canary-Verkehrs anpassen oder die Verwendung eines Stage-Caches aktivieren oder deaktivieren, um die Testperformance zu optimieren. Sie können außerdem Stufenvariablen modifizieren, die im Canary-Release verwendet werden, wenn der Ausführungskontext aktualisiert wird. Um solche Aktualisierungen vorzunehmen, rufen Sie die Operation stage:update mit neuen Werten für canarySettings auf.

Sie können eine Canary-Release mithilfe der API-Gateway-Konsole, dem AWS CLI-Befehl update-stage oder einem AWS SDK aktualisieren.

Aktualisieren eines Canary-Releases mit der API Gateway-Konsole

Um die API Gateway-Konsole zur Aktualisierung der vorhandenen Canary-Einstellungen einer Stufe zu nutzen, führen Sie die folgenden Schritte aus:

Aktualisieren bestehender Canary-Einstellungen
  1. Melden Sie sich bei der API Gateway-Konsole an und wählen Sie eine bestehende REST API aus.

  2. Wählen Sie im Hauptnavigationsbereich Stages (Stufen) und anschließend eine bestehende Stufe aus.

  3. Wählen Sie die Registerkarte Canary und anschließend Edit (Bearbeiten) aus. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte Canary anzuzeigen.

  4. Aktualisieren Sie Request distribution (Verteilung anfordern), indem Sie den Prozentsatz auf einen Wert zwischen 0,0 und 100,0 (inklusive) erhöhen oder verringern.

  5. Aktivieren oder deaktivieren Sie das Kontrollkästchen unter Stage cache (Stage-Cache).

  6. Fügen Sie Canary stage variables (Canary-Stufenvariablen) hinzu, entfernen oder ändern Sie sie.

  7. Wählen Sie Speichern aus.

Aktualisieren eines Canary-Releases mit der AWS CLI

Um mit der AWS CLI einen Canary zu aktualisieren, verwenden Sie den update-stage-Befehl und ändern Sie die Patch-Operation für jeden Parameter des Canary.

Der folgende update-stage-Befehl aktualisiert, ob der Canary den Stufen-Cache verwendet:

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

Der folgende update-stage-Befehl aktualisiert den Prozentsatz des Canary-Datenverkehrs:

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

Der folgende update-stage-Befehl aktualisiert Stufenvariablen. Das Beispiel zeigt, wie Sie eine neue Stufenvariable mit dem Namen newVar erstellen, die Stufenvariable var2 überschreiben und die Stufenvariable var1 entfernen:

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

Sie können das oben Genannte aktualisieren, indem Sie die Operationen zu einem einzigen patch-operations-Wert zusammenfassen:

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