Hochstufen eines Canary-Releases - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hochstufen eines Canary-Releases

Um ein Canary-Release hochzustufen, machen Sie es in der Produktionsstufe der zu testenden API-Version verfügbar. Der Vorgang umfasst die folgenden Aufgaben:

  • Setzen Sie die Bereitstellungs-ID der Stufe mit den Bereitstellungs-ID-Einstellungen des Canarys zurück. Dadurch wird der API-Snapshot der Stufe mit dem Snapshot des Canarys aktualisiert, sodass die Testversion auch zum Produktionsrelease wird.

  • Aktualisieren Sie Stufenvariablen mit Canary-Stufenvariablen, falls vorhanden. Dadurch wird der API-Ausführungskontext der Stufe mit dem des Canarys aktualisiert. Ohne dieses Update kann die neue API-Version unerwartete Ergebnisse liefern, wenn die Testversion unterschiedliche Stufenvariablen oder unterschiedliche Werte vorhandener Stufenvariablen verwendet.

  • Legen Sie den Prozentsatz des Canary-Verkehrs auf 0,0 % fest.

Das Hochstufen eines Canary-Releases bedeutet nicht, dass das Canary für die Stufe deaktiviert wird. Um ein Canary zu deaktivieren, müssen Sie die Canary-Einstellungen der Stufe entfernen.

Hochstufen eines Canary-Releases mit der API Gateway-Konsole

Gehen Sie nach den Anweisungen unten vor, um eine Canary-Release-Bereitstellung mit der API Gateway-Konsole hochzustufen:

Hochstufen einer Canary-Release-Bereitstellung
  1. Melden Sie sich bei der API Gateway-Konsole an und wählen Sie eine bestehende API im Hauptnavigationsbereich aus.

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

  3. Wählen Sie die Registerkarte Canary.

  4. Wählen Sie Promote Canary (Canary hochstufen) aus.

  5. Bestätigen Sie die durchzuführenden Änderungen und wählen Sie Promote canary (Canary hochstufen) aus.

Nach der Aktion verweist das Produktionsrelease auf die gleiche API-Version (deploymentId) wie das Canary-Release. Sie können dies mithilfe der überprüfe AWS CLI. Für Beispiele vgl. Hochstufen eines Canary-Releases mit der AWS CLI.

Hochstufen eines Canary-Releases mit der AWS CLI

Um mit den AWS CLI-Befehlen ein Canary-Release für das Produktionsrelease hochzustufen, rufen Sie den Befehl update-stage auf, um die dem Canary zugeordnete deploymentId zu der der Stufe zugeordneten deploymentId zu kopieren, den Prozentsatz für den Canary-Verkehr auf null (0.0) zurückzusetzen und alle Canary-Stufenvariablen zur entsprechenden Stufe zu kopieren.

Angenommen, wir haben eine Canary-Release-Bereitstellung, die durch eine in etwa wie folgt aussehende Stufe beschrieben wird:

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

Wir rufen die folgende update-stage-Anforderung zum Hochstufen auf:

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

Nach der Werbeaktion sieht die Stufe nun folgendermaßen aus:

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

Wie Sie sehen, wird beim Heraufstufen einer Canary-Release auf die Stufe die Canary nicht deaktivieren. Die Bereitstellung ist weiterhin eine Canary-Release-Bereitstellung. Um daraus eine reguläre Produktions-Release-Bereitstellung zu machen, müssen Sie die Canary-Einstellungen deaktivieren. Weitere Informationen dazu, wie Sie eine Canary-Release-Bereitstellung deaktivieren, finden Sie unter Deaktivieren eines Canary-Releases.