在 WebSocket API Gateway 中部署 API - Amazon API 网关

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 WebSocket API Gateway 中部署 API

建立 WebSocket API 之後,您必須部署它,使其可供使用者叫用。

若要部署 API,請建立 API 部署,並建立它與階段的關聯。每個階段都是 API 的快照,而且可以供用戶端應用程式呼叫。

重要

每次更新 API 時,都必須將其重新部署。對階段設定以外的任何變更都需要重新部署,對下列資源進行修改時也是如此:

  • 路由

  • 整合

  • Authorizers

在預設情況下,每個 API 只能有 10 個階段。建議您針對部署重複使用這些階段。

若要呼叫已部署的 WebSocket API,用戶端會將訊息傳送至 API 的 URL。URL 的決定方式為 API 的主機名稱和階段名稱。

注意

API Gateway 將支援高達 128 KB 的承載,影格大小上限為 32 KB。如果訊息超過 32 KB,則必須分割成多個影格,每個為 32 KB 或以下。

使用 API 的預設網域名稱,指定階段 ({stageName}) 中 WebSocket API 的 URL 格式如下:

wss://{api-id}.execute-api.{region}.amazonaws.com/{stageName}

為了使 WebSocket API 的 URL 更易於使用,您可以創建自定義域名(例如api.example.com)以替換 API 的默認主機名。其組態程序與 REST API 相同。如需更多詳細資訊,請參閱 API閘道RESTAPIs中的自訂網域名稱

階段啟用 API 的強大版本控制。例如,您可以將 API 部署至 test 階段和 prod 階段,並使用 test 階段作為測試組建,以及使用 prod 階段作為穩定組建。更新通過測試之後,您就可以將 test 階段提升為 prod 階段。您可以將 API 重新部署到 prod 階段來進行提升。如需階段的詳細資訊,請參閱 設定API閘道RESTAPI中的階段

使用建立 WebSocket API 部署 AWS CLI

若要用 AWS CLI 來建立部署,請使用建立部署指令,如下列範例所示:

aws apigatewayv2 --region us-east-1 create-deployment --api-id aabbccddee

輸出範例:

{ "DeploymentId": "fedcba", "DeploymentStatus": "DEPLOYED", "CreatedDate": "2018-11-15T06:49:09Z" }

在您將此部署與階段建立關聯前,都無法呼叫已部署的 API。您可以建立新階段或重複使用您之前建立的階段。

若要建立新階段並將其與部署產生關聯,請使用 create-stage 命令,如下列範例所示:

aws apigatewayv2 --region us-east-1 create-stage --api-id aabbccddee --deployment-id fedcba --stage-name test

輸出範例:

{ "StageName": "test", "CreatedDate": "2018-11-15T06:50:28Z", "DeploymentId": "fedcba", "DefaultRouteSettings": { "MetricsEnabled": false, "ThrottlingBurstLimit": 5000, "DataTraceEnabled": false, "ThrottlingRateLimit": 10000.0 }, "LastUpdatedDate": "2018-11-15T06:50:28Z", "StageVariables": {}, "RouteSettings": {} }

若要重複使用現有的階段,請使用 update stage 命令,以新建立的部署 ID ({deployment-id}) 更新階段deploymentId屬性。

aws apigatewayv2 update-stage --region {region} \ --api-id {api-id} \ --stage-name {stage-name} \ --deployment-id {deployment-id}

使用 WebSocket API Gateway 主控台建立 API 部署

若要使用 API Gateway 主控台建立 WebSocket API 的部署:

  1. 登入 API Gateway 主控台並選擇 API。

  2. 選擇部署 API

  3. 從下拉式清單中選擇所需的階段,或輸入新階段的名稱。