gpt4 book ai didi

go - API 网关 -> Go Lambda 参数

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

我正在努力将 API Gateway 正确连接到我配置的简单 Go Lambda。

Lambda 是一个非常简单的函数,例如:

func foo(bar string) (string, error) {
return fmt.Println(bar)
}
func main() {
lambda.Start(foo)
}

我可以执行一个值为“HelloWorld”的简单测试事件,它会按预期返回。

但是,我似乎无法弄清楚如何设置 API 网关以允许我只调用/HelloWorld 或 ?bar=HelloWorld 并让它返回。我知道我可以使用 events.APIGatewayProxyRequest 作为参数并返回 events.APIGatewayProxyResponse,但是没有其他方法吗?这样做似乎让我只能通过 API 网关访问此功能,这似乎很愚蠢。

最佳答案

您的 Lambda 函数应具有有效签名,以便由 API 网关或任何其他事件源触发。对于 API 网关,您的 Lambda 函数处理程序将如下所示:

func handler(ctx context.Context, request events.APIGatewayProxyRequest (events.APIGatewayProxyResponse, error) {

}

您可以从request 获取参数,使用适当的参数调用您的foo 函数并返回一个APIGatewayProxyResponse。这样,您的 foo 函数只执行它应该执行的操作,对 AWS 事件一无所知,您的 handler 函数负责与 API 网关的通信。

关于go - API 网关 -> Go Lambda 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55857873/

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