0
点赞
收藏
分享

微信扫一扫

aws api gateway 部署一个WebSocket API

创建WebSocket API后,您必须对其进行部署,使其可供您的用户调用。
要部署API,你要创建一个API部署,并将其与一个阶段相关联。每个阶段都是API的一个快照,可供客户端应用程序调用。
重要的是
每次你更新API,包括修改路由、方法、集成、授权者以及除阶段设置之外的其他内容,你都必须将API重新部署到现有的阶段或新的阶段。
默认情况下,每个API只能有10个阶段,所以重用这些阶段是很好的做法。
要调用已部署的WebSocket API,客户端要向API的URL发送一条信息。该URL由API的主机名和阶段名决定。
注意事项
API Gateway将支持最大128KB的有效载荷,最大帧大小为32KB。如果一个消息超过32KB,它必须被分割成多个框架,每个框架32KB或更小。
使用API的默认域名,(例如)某个阶段({stageName})中的WebSocket API的URL是以下格式。

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

为了使WebSocket API的URL更方便用户使用,你可以创建一个自定义域名(如api.example.com)来取代API的默认主机名。配置过程与REST APIs相同。欲了解更多信息,请参阅为REST APIs设置自定义域名。
阶段可以对你的API进行强大的版本控制。例如,你可以将一个API部署到测试阶段和prod阶段,并将测试阶段作为测试构建,将prod阶段作为稳定构建。在更新通过测试后,你可以将测试阶段推广到prod阶段。升级可以通过重新部署API到prod阶段来完成。关于阶段的更多细节,请参阅为REST API设置阶段。

使用AWS CLI创建一个WebSocket API部署

要使用AWS CLI来创建部署,请使用create-deployment命令,如下例所示。

	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}

使用API网关控制台创建一个WebSocket API部署

要使用API Gateway控制台为WebSocket API创建部署。
1.登录到API网关控制台,选择API。
2.从行动下拉菜单中,选择部署API。
3.从下拉列表中选择所需的阶段或输入新阶段的名称。

举报

相关推荐

0 条评论