我已经使用AWS API网关实现了一个WebSocket服务,并使用wscat成功测试了它:
$ wscat -c wss://<endpoint>.execute-api.<region>.amazonaws.com/dev/
Connected (press CTRL+C to quit)
> {"action": "testRouteKey", "msg": "hello from wscat"}
< {"msg":"Got 'hello from wscat'"}
字符串
该服务有一个自定义的routeKey
“testRouteKey”,可以通过wscat访问,如上所示。
如何使用https://rxjs.dev/api/webSocket实现上述wscat活动?在我的尝试中,我可以使用以下代码访问$default routeKey
:
(new WebSocketSubject("wss://<endpoint>.execute-api.<region>.amazonaws.com/dev/"))
.next(JSON.stringify({
"action": "testRouteKey",
"msg": "hello from rxjs"
}));
型
CloudWatch显示rxjs客户端访问了$default routeKey
,完整的JSON负载出现在requestContext.body
中。如何指定自定义的routeKey
“testRouteKey”?
1条答案
按热度按时间z3yyvxxp1#
我忘记了wscat的源代码是可用的,可以作为参考https://github.com/websockets/wscat/blob/master/bin/wscat
事实上,aws API gateway期望的有效载荷格式与我在wscat测试中使用的一样。我的js代码中的错误是WebSocketSubject.next期望的是一个对象而不是JSON字符串。