AWS API网关WebSocket问题

时间:2019-03-27 11:05:06

标签: amazon-web-services websocket aws-api-gateway

我们已经实现了API Gateway Web套接字(带有无服务器的AWS Lambda),并且运行良好。但是,我们遇到了以下关键问题,如果有人可以提供解决方案/解决方法,我们将不胜感激:

我们希望将服务器时间与客户端/ javascript时间同步,并希望使用此AWS API网关Web套接字定期将时间戳发送给所有连接的客户端。但是,我们发现,如果没有客户端的输入操作,我们就无法自动将数据推送到客户端。这个问题有解决方法吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

您可以使用WebSocket API的连接URL进行此操作。连接网址看起来像https:// {api-id} .execute-api。{region} .amazonaws.com / {stage}。

要将数据推送到已连接的客户端,您可以使用Amazon API网关管理API postToConnection()操作。这里是参考:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ApiGatewayManagementApi.html#getConnection-property

var params = {
  ConnectionId: 'STRING_VALUE', /* required */
  Data: Buffer.from('...') || 'STRING_VALUE' /* Strings will be Base-64 encoded on     your behalf */ /* required */
};
apigatewaymanagementapi.postToConnection(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});