将参数发送到AWS API网关websocket connect方法

Sor*_*ete 3 amazon-web-services aws-lambda aws-api-gateway serverless-framework

我按照本教程使用 python、aws apigategay 和无服务器创建了一个小型聊天应用程序。连接到 Websocket 时,连接 ID 存储在数据库中。

一切都按预期进行,现在我希望能够通过角色连接到 Websocket,例如聊天允许客户和商店员工。

我正在尝试找到一种将参数发送到 connect 方法的方法,但到目前为止还没有运气。例如,当建立连接时,我想发送角色 ID 并存储在数据库中,以指定连接 ID 属于客户或存储员工。

我读到了有关 API 网关授权的内容,但问题是聊天将包含在已运行且不使用 AWS 授权的应用程序中。

有什么办法可以做到这一点吗?

use*_*753 8

您可以通过查询字符串发送参数,如下所示:

 $  wscat -c wss://ws.mycustomdomain.com/?test=123
Run Code Online (Sandbox Code Playgroud)

event.queryStringParameters然后您可以从函数处理程序中获取该参数。

def handler(event, context):
    connectionId = event['queryStringParameters']['test']
Run Code Online (Sandbox Code Playgroud)

希望有帮助