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.
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.
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 (
) das folgende Format auf:{stageName}
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.
Themen
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
auf die neu erstellte Bereitstellungs-ID ({deployment-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:
-
Melden Sie sich bei der API Gateway-Konsole an und wählen Sie die API aus.
-
Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Deploy API (API bereitstellen) aus.
-
Wählen Sie die gewünschte Stufe aus der Dropdown-Liste aus oder geben Sie den Namen einer neuen Stufe ein.