У меня есть небольшая программа в Golang:
package main
import (
"github.com/aws/aws-lambda-go/lambda"
"log"
)
type Request struct {
//{"message": "Hey, are you there?" }
Message string `json:"message"`
}
func ToUpperHandler(r Request) {
log.Println("["+r.Message+"]")
}
func main() {
lambda.Start(ToUpperHandler)
}
Это AWS лямбда-обработчик. Я хотел бы проверить его локально:
echo '{"message": "Hey, are you there?" }' | sam local invoke "Resize"
, и он регистрирует просто "[]", поэтому r.Message пусто. Вот мой template.yaml:
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
Resize:
Type: AWS::Serverless::Function
Properties:
Handler: resize
Runtime: go1.x
Я что-то упустил? Поскольку почти тот же код работает, если он развернут на Amazon.