Bereitstellen einer WebSocket-API in API Gateway - Amazon API Gateway

Bereitstellen einer WebSocket-API in API Gateway

Nach der Erstellung Ihrer WebSocket-API müssen Sie sie bereitstellen, um sie für den Aufruf durch Ihre Benutzer verfügbar zu machen.

Zum Bereitstellen einer API erstellen Sie eine API-Bereitstellung und verknüpfen sie mit einer Stufe. Jede Stufe ist ein Snapshot der API und wird für Client-Apps zum Aufrufen verfügbar gemacht.

Wichtig

Jedes Mal, wenn Sie eine API aktualisieren, die eine Änderung der Routen, Methoden, Integrationen, Genehmiger und von anderem bis auf Stufeneinstellungen umfasst, müssen Sie die API für eine vorhandene oder neue Stufe erneut bereitstellen.

Standardmäßig können Sie höchstens 10 Stufen pro API bereitstellen. Eine bewährte Methode ist daher, sie wiederzuverwenden.

Um eine bereitgestellte WebSocket-API aufzurufen, sendet der Client eine Nachricht an die URL der API. Die URL wird anhand des Hostnamens und der Stufennummer der API bestimmt.

Anmerkung

API Gateway unterstützt Nutzlasten bis zu 128 KB mit einer maximalen Framegröße von 32 KB. Sie müssen Nachrichten, die 32 KB überschreiten, in mehrere Frames aufteilen, die jeweils 32 KB oder kleiner sind.

Unter Verwendung des Standarddomänennamens der API weist die URL (beispielsweise) einer WebSocket-API in einer bestimmten Stufe ({stageName}) das folgende Format auf:

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

Um die URL der WebSocket-API benutzerfreundlicher zu gestalten, können Sie einen benutzerdefinierten Domänennamen (z. B. api.example.com) erstellen, um damit den Standard-Hostnamen der API zu ersetzen. Der Konfigurationsvorgang ist bei REST-APIs identisch. Weitere Informationen finden Sie unter Einrichten von benutzerdefinierten Domänennamen für REST-APIs.

Stufen ermöglichen eine robuste Versionskontrolle Ihrer API. Sie können beispielsweise eine API für eine test- und eine prod-Stufe bereitstellen und die test-Stufe als Test-Build und die prod-Stufe als stabilen Build verwenden. Nachdem die Aktualisierungen den Test bestanden haben, können Sie die test-Stufe auf prod hochstufen. Die Hochstufung kann durch die erneute Bereitstellung der API für die prod-Stufe erfolgen. Weitere Informationen zu Stufen finden Sie unter Einrichten einer Stufe für eine REST-API.

Erstellen einer WebSocket-API-Bereitstellung mithilfe der AWS CLI

Um mithilfe der AWS CLI eine Bereitstellung zu erstellen, verwenden Sie wie im folgenden Beispiel dargestellt den Befehl create-deployment:

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

Beispielausgabe:

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

Die bereitgestellte API kann erst aufgerufen werden, wenn Sie die Bereitstellung einer Stufe zugeordnet haben. Sie können eine neue Stufe erstellen oder eine Stufe wiederverwenden, die Sie zuvor erstellt haben.

Um eine neue Stufe zu erstellen und mit der Bereitstellung zu verknüpfen, verwenden Sie wie im folgenden Beispiel dargestellt den Befehl create-stage:

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

Beispielausgabe:

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

Um eine vorhandene Stufe wiederzuverwenden, aktualisieren Sie die Eigenschaft deploymentId der Stufe mithilfe des Befehls {deployment-id} auf die neu erstellte Bereitstellungs-ID (update-stage).

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

Erstellen einer WebSocket-API-Bereitstellung mit der API Gateway-Konsole

So erstellen Sie mithilfe der API Gateway-Konsole eine Bereitstellung für eine WebSocket-API:

  1. Melden Sie sich bei der API Gateway-Konsole an und wählen Sie die API aus.

  2. Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Deploy API (API bereitstellen) aus.

  3. Wählen Sie die gewünschte Stufe aus der Dropdown-Liste aus oder geben Sie den Namen einer neuen Stufe ein.