node.js - 使用 AWS 不可调用的 Websocket API
问题描述
我正在使用 AWS API Gateway onConnect 和 onDisconnect 创建一个演示 websocket API,我附加了 Lambda 函数
像这样的代码
const AWS = require('aws-sdk');
const ddb = new AWS.DynamoDB.DocumentClient();
function addConnectionId(connectionId) {
return ddb.delete({
TableName: 'Chat',
Key: {
connectionid : connectionId,
},
}).promise();}
exports.handler = (event) => {
console.log("Connection broken");
const connectionId = event.requestContext.connectionId;
addConnectionId(connectionId).then(() => {
return {
statusCode: 200,
body:JSON.stringify({ msg: 'connected'})
}
});}
但是当我从 wscat 调用它时,我得到 502
D:>wscat -c wss://r6e1pcpjib.execute-api.ap-south-1.amazonaws.com/development
error: Unexpected server response: 502
#aws #webSocket #find-a-specialist
我尝试了下面的文章,但没有找到所需的输出
解决方案
问题在于从处理程序返回的数据必须是使用 JSON.Stringify 的字符串格式,并且从处理程序返回的输出必须是特定格式。
推荐阅读
- python - Python,从时间序列中提取特征(TSFRESH 包或我可以使用什么?)
- android - 如何在 Android 中同时为 ImageFlipper 实现 OnClick 和 Sliding 事件
- php - 如何在 lumen 7.0 中配置存储
- django - 为 django 应用程序恢复 postgresql 数据库时出现问题
- python - 将列表的每个元素转换为 sha256
- javascript - Angular:ngOnInit 钩子在动态创建的组件中不起作用
- java - 在旧的 Ant 项目中添加 Ivy
- php - 从 json_decode 访问对象的值
- javascript - express js检查请求的来源
- sql - SQL查询从多个表中选择并创建第三个表