Время ожидания AWS SAM CLI истекло
Я создаю в AWS lambda обработчик, который возвращает файл для моего одностраничного приложения (SPA). Функция работает быстро (пара мс). Но все равно мне приходится запускать ее несколько раз, почти одновременно, и затем они отключаются. Мой тайм-аут 60 секунд. Я думаю, что это как-то связано с докером, но я не уверен. Есть ли что-то, что я могу сделать?
Вот мой код:pastebin.com/TdqAu3Gx
! Даже с другими функциями требуется гораздо больше времени для получения ответа по сравнению со временем выполнения.
РЕДАКТИРОВАТЬ:
Через некоторое время я опубликовал интерфейс на Netlify. Но после выполнения некоторых функций я столкнулся с той же ошибкой. Код fowoling работает в локальном aws sam.
package main
import (
"fmt"
"github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
type MyReq struct {
Username string `json:"username"`
}
func handler(m events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {
// log.Println(m.Username)
fmt.Println("\n\n", m.Body, "\n\n")
return events.APIGatewayProxyResponse{
Body: m.Body,
}, nil
}
func main() {
lambda.Start(handler)
}
Но не работает, в реале была лямбда. (Это работает, но я получаю полный json, так как текст для заголовков exaple не задан в ответе, но я могу видеть их как текст в теле). Если я изменю events.APIGatewayProxyResponse
а также events.APIGatewayProxyRequest
в MyRequest
и строка соответственно это работает в лямбде, но таймауты в sam local. В моем template.json
под Resources
Я имею:
"TestFunction": {
"Type": "AWS::Serverless::Function",
"Properties": {
"CodeUri": "MY_BUCKET",
"Handler": "testf",
"Role": "My Lambda role",
"Events": {
"RegisterEvent": {
"Type": "Api",
"Properties": {
"Path": "/testf",
"Method": "POST"
}
}
}
}
}
Как заставить код работать как на AWS Lambda, так и на SAM Local? Если у кого-то есть рабочий шаблон приложения sam, который работает как на SAM, так и на AWS и может открыть его с открытым исходным кодом, я был бы очень благодарен.