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.
Themen
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
-
Melden Sie sich bei der API Gateway-Konsole an und wählen Sie eine bestehende REST API aus.
-
Wählen Sie im Hauptnavigationsbereich Stages (Stufen) und anschließend eine bestehende Stufe aus.
-
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.
-
Aktualisieren Sie Request distribution (Verteilung anfordern), indem Sie den Prozentsatz auf einen Wert zwischen 0,0 und 100,0 (inklusive) erhöhen oder verringern.
-
Aktivieren oder deaktivieren Sie das Kontrollkästchen unter Stage cache (Stage-Cache).
-
Fügen Sie Canary stage variables (Canary-Stufenvariablen) hinzu, entfernen oder ändern Sie sie.
-
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" }]'