本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 Canary Release
部署 Canary Release 之後,建議您調整 Canary 流量百分比,或者啟用或停用階段快取來最佳化測試效能。更新執行內容時,您也可以修改 Canary Release 中所使用的階段變數。若要進行此類更新,請在 上使用新值呼叫 stage:update 操作canarySettings。
您可以使用 API Gateway 主控台、 AWS CLI update-stage 命令或 AWS 來更新 Canary 版本SDK。
使用 API Gateway 主控台更新 Canary 版本
若要使用API閘道主控台更新階段上的現有 Canary 設定,請執行下列動作:
更新現有的 Canary 設定
-
登入API閘道主控台,然後選擇現有的 REST API。
-
在主導覽窗格中,選擇階段,然後選擇現有的階段。
-
選擇 Canary 索引標籤,然後選擇編輯。您可能需要選擇向右箭頭按鈕才能顯示 Canary 索引標籤。
-
增加或減少 0.0 和 100.0 (含) 之間的百分比數字,以更新請求分佈。
-
選取或清除階段快取核取方塊。
-
新增、移除或修改 Canary 階段變數。
-
選擇 Save (儲存)。
使用 更新 Canary 版本 AWS CLI
若要使用 AWS CLI 更新 Canary,請呼叫 update-stage
命令。
若要啟用或停用 Canary 的階段快取,請呼叫 update-stage
命令,如下所示:
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/useStageCache,value=true
若要調整 Canary 流量百分比,請呼叫 update-stage
來取代階段上的 /canarySettings/percentTraffic
值。
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0
更新 Canary 階段變數,包含新增、取代或移除 Canary 階段變數:
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" }]'
您可以將操作結合為單一 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" }]'