我正在使用无服务器运行一个用 Go 编写的 lambda 函数,我想在调用它时向它传递几个参数。
这是我为接收请求而创建的结构:
type RequestStruct struct {
StartAt int `json:"startAt"`
EndAt int `json:"endAt"`
}
在处理程序中,我试图打印出这些值:
func Handler(ctx context.Context,request RequestStruct) (Response, error) {
fmt.Printf("Request: %v",request)
我尝试使用该--raw选项调用它,所以我尝试这样做
serverless invoke -f orders --raw -d '{"startAt":1533513600,"endAt":1534118399}'
我试着用双引号把它包起来
serverless invoke -f orders --raw -d "{startAt:1533513600,endAt:1534118399}"
serverless invoke -f orders --raw -d "{\"startAt\":1533513600,\"endAt\":1534118399}"
我收到了所有三个的编组错误:
{
"errorMessage": "json: cannot unmarshal string into Go value of type main.RequestStruct",
"errorType": "UnmarshalTypeError"
}
我不确定我做错了什么,我可以在网上找到任何例子,只有这个无服务器文档关于如何进行调用和这个aws 文档关于如何处理 Go 中的事件
更新 我尝试从 AWS 控制台调用事件并且它起作用了,所以问题很可能出在无服务器调用命令中。
Helenr
慕尼黑8549860
相关分类