我正在使用无服务器 WarmUp 插件来使我的 Go AWS Lambda 函数保持温暖。我需要检测插件何时调用 Lambda 函数,以便我可以返回特定响应。如何正确检测 Go 代码中的预热调用?
您可以通过检查客户端上下文来检测 go aws lambda 函数中的预热调用,这可以使用 aws lambda 的 go sdk 中的 lambdacontext 包来完成。下面的代码片段展示了如何执行此操作:
package main import ( "context" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" "github.com/aws/aws-lambda-go/lambdacontext" ) func HandleRequest(ctx context.Context, request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) { lc, _ := lambdacontext.FromContext(ctx) if lc.ClientContext.Custom["source"] == "serverless-plugin-warmup" { return events.APIGatewayProxyResponse{Body: "Lambda is warm!", StatusCode: 200}, nil } // ... other function logic ... // Default response for demonstration return events.APIGatewayProxyResponse{ StatusCode: 200, Body: "Hello from Go Lambda!", }, nil } func main() { lambda.Start(HandleRequest) }
以上是如何使用无服务器 WarmUp 插件检测 Go AWS Lambda 函数中的预热调用?的详细内容。更多信息请关注PHP中文网其他相关文章!