是的,可以通过单个Lambda实例处理Websocket连接。AWS提供了一个功能称为API网关,它允许创建HTTP API和Websocket API。对于Websocket API,可以选择使用Lambda函数作为后端实现。
以下是一个示例Lambda函数处理Websocket连接的代码:
import json
def lambda_handler(event, context):
# 获取Websocket连接ID
connection_id = event["requestContext"]["connectionId"]
# 处理接收到的消息
message = json.loads(event["body"])
print("Received message:", message)
# 发送消息回客户端
response = {
"statusCode": 200,
"body": json.dumps({"message": "Hello from Lambda!"})
}
return response
在API网关中,为Websocket API创建一个API,使用上述Lambda函数作为后端。当客户端建立Websocket连接并发送消息时,Lambda函数将被触发并处理消息。Lambda函数可以执行任何自定义逻辑和业务逻辑,并向客户端发送响应。