Amazon web services 向AWS API网关websocket连接方法发送参数
我随后使用python、aws apigategay和serverless创建了一个小型聊天应用程序。连接到Websocket时,连接ID存储在数据库中 一切按预期进行,现在我希望能够通过一个角色连接到Websocket,比如说聊天允许客户和商店员工 我正在试图找到一种方法来向connect方法发送一个参数,但到目前为止没有成功。例如,在建立连接时,我希望发送角色ID并存储在数据库中,以指定连接ID属于客户或存储员工 我读过API网关授权,但问题是聊天将包含在一个已经运行的应用程序中,该应用程序不使用AWS授权Amazon web services 向AWS API网关websocket连接方法发送参数,amazon-web-services,aws-lambda,aws-api-gateway,serverless-framework,Amazon Web Services,Aws Lambda,Aws Api Gateway,Serverless Framework,我随后使用python、aws apigategay和serverless创建了一个小型聊天应用程序。连接到Websocket时,连接ID存储在数据库中 一切按预期进行,现在我希望能够通过一个角色连接到Websocket,比如说聊天允许客户和商店员工 我正在试图找到一种方法来向connect方法发送一个参数,但到目前为止没有成功。例如,在建立连接时,我希望发送角色ID并存储在数据库中,以指定连接ID属于客户或存储员工 我读过API网关授权,但问题是聊天将包含在一个已经运行的应用程序中,该应用程序
有什么方法可以做到这一点吗?在连接调用中以头的形式发送值,并在后端检索该值以与connectionId一起存储
wscat --connect wss://aaaaaaaa.execute-api.us-east-2.amazonaws.com/test --header myHeader:myValue
在我的lambda中,标题看起来像
"headers": {
"Host": "xxxxxxx.execute-api.us-east-2.amazonaws.com",
"myHeader": "myValue",
"Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
"Sec-WebSocket-Key": "xxxxxxx",
"Sec-WebSocket-Version": "13",
"X-Amzn-Trace-Id": "xxxxxxx",
"X-Forwarded-For": "xxxxxx",
"X-Forwarded-Port": "443",
"X-Forwarded-Proto": "https"
},
您可以通过查询字符串发送参数,如下所示:
$ wscat -c wss://ws.mycustomdomain.com/?test=123
然后,您可以从函数处理程序中的event.queryStringParameters
获取该参数
def handler(event, context):
connectionId = event['queryStringParameters']['test']
希望这能帮上忙,比如queryStringParameters?但是找不到任何例子