gpt4 book ai didi

go - 为什么 AWS API Gateway websocket 发送错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:29:35 32 4
gpt4 key购买 nike

我正在使用无服务器框架来设置一个 AWS API Gateway websocket,它调用一个用 Go 编写的 lambda 函数。现在处理程序只记录一条消息。我可以连接到 websocket,当我通过套接字发送消息时,我可以看到消息已记录在 Cloudwatch 中,但我总是收到一条错误消息,看起来像

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

Cloudwatch 中没有记录 lambda 的错误。 AWS API 网关配置对我来说看起来不错。我不知道是什么原因造成的。

我的 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)
}

可能不是 super 相关,但 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)

关于go - 为什么 AWS API Gateway websocket 发送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468191/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com