本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
提升 Canary Release
當您提升 Canary Release 時,Canary Release 會取代目前的階段設定。提升 Canary Release 並不會停用階段上的 Canary。若要停用 Canary,您必須移除階段上的 Canary 設定。若要提升 Canary,請執行下列動作。
使用 API Gateway 主控台提升 Canary 版本
若要使用API閘道主控台來提升 Canary Release 部署,請執行下列動作:
提升 Canary 版本部署
-
登入API閘道主控台,然後選擇API主要導覽窗格中現有的 。
-
在主導覽窗格中,選擇階段,然後選擇現有的階段。
-
選擇 Canary 索引標籤。
-
選擇提升 Canary。
-
確認要進行的變更,然後選擇提升 Canary。
促銷之後,生產版本參考與 Canary 版本相同的API版本 (deploymentId)。您可以使用 來驗證這一點 AWS CLI。如需範例,請參閱 使用 AWS CLI提升 Canary Release。
使用 AWS CLI提升 Canary Release
若要使用 AWS CLI 命令將 Canary 版本提升為生產版本,請呼叫 update-stage
命令以複製deploymentId
與階段關聯 相關聯的 CanarydeploymentId
,將 Canary 流量百分比重設為零 (0.0
),並將任何 Canary-bound 階段變數複製到對應的階段繫結階段變數。
假設我們有 Canary Release 部署,如與以下類似的階段所描述:
{ "_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" } }
我們呼叫下列 update-stage
請求將其提升:
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" }]'
提升後,該階段現如下所示:
{ "_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" } }
將 Canary 版本提升至階段並不會停用 Canary,而且部署仍然是 Canary 版本部署。為了讓該部署成為一般生產版本部署,您必須停用 Canary 設定。如需有關如何停用 Canary Release 部署的詳細資訊,請參閱 關閉 Canary 版本。