我已经使用 Java 的内置 Websocket API 构建了一个小型应用程序,现在我正尝试在无服务器环境、Isung AWS API Gateway 和 Lambda 中执行相同的操作。我知道我应该如何在 DynamoDB 中设置所有内容并保存连接 ID,但我很难理解如何首先访问连接 ID 和正文。
让我们举个例子。我有这个 OnOpen 函数,它只是一个普通的 lambda 函数:
public class OnOpen implements RequestHandler<Object, Object>{
Gson gson = new GsonBuilder().setPrettyPrinting().create();
@Override
public String handleRequest(Object event, Context context)
{
LambdaLogger logger = context.getLogger();
String response = "200 OK";
// log execution details
logger.log("ENVIRONMENT VARIABLES: " + gson.toJson(System.getenv()));
logger.log("CONTEXT: " + gson.toJson(context));
// process event
logger.log("EVENT: " + gson.toJson(event));
logger.log("EVENT TYPE: " + event.getClass().toString());
return response;
}
}
假设我想改变它,让它只向最近连接的用户发送一条消息,我该如何改变它来做到这一点?我应该为 AmazonApiGatewayManagementApi 之类的东西切换 RequestHandler 吗?基本上,我如何使用 Java 访问正文和连接 ID?