为什么AWS API Gateway Websocket发送错误

内特:

我正在使用无服务器框架来设置一个AWS API Gateway Websocket,该Websocket调用用Go编写的lambda函数。现在,处理程序仅记录一条消息。我可以连接到网络套接字,并且可以看到通过套接字发送消息时消息已记录在Cloudwatch中,但是我总是收到一条类似以下内容的错误消息:

{
  "message": "Internal server error",
  "connectionId": "eU3C1cE7CYcCJPw=",
  "requestId": "eU3EQFX0iYcFysQ="
}

Cloudwatch中没有为lambda记录任何错误。AWS API Gateway配置对我来说很好。我无所适从,试图思考可能导致这种情况的原因。

我的main.go:

package main

import (
    "fmt"

    "github.com/aws/aws-lambda-go/events"
    "github.com/aws/aws-lambda-go/lambda"
)

func Handler(request events.APIGatewayWebsocketProxyRequest) {
    fmt.Println("default function ran")
}

func main() {
    lambda.Start(Handler)
}

可能不是超级相关,而是serverless.yaml配置:

functions:
  websocket-default:
    handler: bin/ws
    events:
      - websocket:
          route: $default

我发送的有效负载:

{
  "action": "whatever",
  "data":  "{whatever}"
}
克莱门特:

不确定这是否是代码中唯一的问题,但是您的处理程序签名应该是doc中列出的一个

func ()
func () error
func (TIn) error
func () (TOut, error)
func (context.Context) error
func (context.Context, TIn) error
func (context.Context) (TOut, error)
func (context.Context, TIn) (TOut, error)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章