Я буквально использую пример функции из Go документов :
package main
import (
"context"
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
type MyEvent struct {
Name string `json:"name"`
}
func HandleRequest(ctx context.Context, name MyEvent) (string, error) {
return fmt.Sprintf("Hello %s!", name.Name), nil
}
func main() {
lambda.Start(HandleRequest)
}
Если я использую консоль событий теста и вводю { "name": "John" }
, она работает нормально.
Но если я иду в Add Triggers, нажмите API Gateway, затем нажмите Create a new API, установите Security на Open, оставьте все остальное по умолчанию, затем нажмите Add, затем Save.
Если я увижу URL-адрес, который указан внизу как «Конечная точка API:», и щелкните по нему, я получу «Внутренняя ошибка сервера».
Если я сделаю curl -XPOST -d "{ \"name\": \"Paul\" }" https://AWS-URL-ENDPOINT/amazonaws.com/default/mytestfunction
Я получаю "Внутренняя ошибка сервера".
Что я делаю не так?