我们已经实现了API Gateway Web套接字(带有无服务器的AWS Lambda),并且运行良好。但是,我们遇到了以下关键问题,如果有人可以提供解决方案/解决方法,我们将不胜感激:
我们希望将服务器时间与客户端/ javascript时间同步,并希望使用此AWS API网关Web套接字定期将时间戳发送给所有连接的客户端。但是,我们发现,如果没有客户端的输入操作,我们就无法自动将数据推送到客户端。这个问题有解决方法吗?
预先感谢
答案 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
});