AWS Websocket 连接响应

AWS Websocket Connection response

我对 AWS Websockets 还是个新手。我希望我的查询有意义。 所以,我已经管理好我的 "chat" 应用程序。我可以毫无问题地连接、发送消息和断开连接。 我正在尝试改进来自 Connect AWS Apigateway 的回复。我想在客户端看到 "myData"。以后会改为对象列表。 提前致谢

serveless.yml

  socketConnection:
    handler: ${self:custom.pathFunc}/socketOption.socketConnection
    events:
      - websocket:
          route: $connect
      - websocket:
          route: $disconnect

socketOptions.js

const socketConnection = ( event, context, callback ) => {
  if ( event.requestContext.eventType === 'CONNECT' ) {
    addConnection( event.requestContext.connectionId )
    .then( () => {
      callback( null, {
        statusCode: 200,
        body: {
         myData: "here goes any data I want"
        }
      } );
    } )
  } else if ( event.requestContext.eventType === 'DISCONNECT' ) {
  //  ...
  }
};
module.exports.socketConnection = socketConnection

myComponent.vue

connect(){
  this.connection = new WebSocket(this.wss)

  this.connection.onopen = this.onOpen
  this.connection.onmessage = this.onMessage
  this.connection.onclose = this.onClose
  this.connection.onerror = this.onError
},
onOpen(event){
  console.log("onOpen -> event", event)
}

我在 AWS 论坛上找到了与此相关的信息。 AWS 海报“Alan-AWS”说:

That's right, the $connect route corresponds to the connection upgrade request which doesn't have a message.

我的意思是在连接处理过程中没有数据可以返回给客户端。

但是,我已经能够在我的授权 lambda 函数的“上下文”中设置一些值,这些值将传递给路由 lambda 接收到的每个事件——然后可以在一个我想是客户的反应。

我还能够使用特殊的“@connections”方法将消息“推送”到客户端。