我正在尝试脱机使用Serverless,以便测试我的api,该api使用websocket支持+lambdas的api网关。但是,我似乎不能让它工作,在用SLS_DEBUG=*
调试了几个小时之后,我就被错误[offline] Error in handler of action [object Object] ReferenceError: endpointUrl is not defined
卡住了。在
这基本上就是我的无服务器.yml看起来像:
service: my-service
provider:
name: aws
runtime: python3.7
stage: dev
region: eu-west-1
profile: assumed-profile
plugins:
- serverless-python-requirements
- serverless-offline
custom:
pythonRequirements:
noDeploy:
- typing
dockerizePip: true
dockerEnv:
- http_proxy
- https_proxy
package:
individually: true
functions:
websocket-connect:
handler: connect.handler
runtime: nodejs10.x
events:
- websocket:
route: $connect
websocket-disconnect:
handler: disconnect.handler
runtime: nodejs10.x
events:
- websocket:
route: $disconnect
hello-world:
handler: hello_world.handler
events:
- websocket:
route: hello-world
这基本上就是我的客户端.py看起来像:
^{2}$我用sls offline start --printOutput
离线启动serverless,并在另一个命令提示符下调用客户端.py。但是,当我查看来自serverless脱机提示符的调试输出时,我看到以下错误:
[offline] Error in handler of action [object Object] ReferenceError: endpointUrl is not defined
at Object.exports.handler (C:\my-service\lambdas\nodejs\websocket_connect\index.js:24:28)
at doAction (C:\my-service\node_modules\serverless-offline\src\ApiGatewayWebSocket.js:153:20)
at Object.connect (C:\my-service\node_modules\serverless-offline\src\ApiGatewayWebSocket.js:203:15)
at WebSocketServer.wss.on (C:\my-service\node_modules\hapi-plugin-websocket\hapi-plugin-websocket.js:209:34)
at WebSocketServer.emit (events.js:198:13)
at WebSocketServer.EventEmitter.emit (domain.js:448:20)
at handleUpgrade (C:\my-service\node_modules\ws\lib\websocket-server.js:90:18)
at WebSocketServer.completeUpgrade (C:\my-service\node_modules\ws\lib\websocket-server.js:321:5)
at options.verifyClient (C:\my-service\node_modules\ws\lib\websocket-server.js:237:16)
at Object.verifyClient (C:\my-service\node_modules\hapi-plugin-websocket\hapi-plugin-websocket.js:142:21)
at WebSocketServer.handleUpgrade (C:\my-service\node_modules\ws\lib\websocket-server.js:232:22)
at Server.upgrade (C:\my-service\node_modules\ws\lib\websocket-server.js:89:16)
at Server.emit (events.js:198:13)
at Server.EventEmitter.emit (domain.js:448:20)
at onParserExecuteCommon (_http_server.js:553:14)
at onParserExecute (_http_server.js:499:3)
我想我可能需要对serverless脱机发送给我的url(/{apiVersion}/functions/my-service-dev-hello-world/invocations
)做些什么,但是我不确定是什么或者如何做——尤其是因为我想在AWS上为我的在线版本使用相同的代码。有人知道怎么解决这个问题吗?在
目前没有回答
相关问题 更多 >
编程相关推荐