亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過 API 網關將 JSON 數組發布到 AWS Lambda?

如何通過 API 網關將 JSON 數組發布到 AWS Lambda?

Go
慕的地6264312 2022-09-19 20:48:49
第一個示例是沒有問題的代碼:你用這個做一個羊羔:package mainimport (    "github.com/aws/aws-lambda-go/lambda")func main() {    lambda.Start(Handler)}func Handler(s interface{}) (interface{}, error) {    return s, nil}當我轉到lambda的測試部分時,我用這個作為我的測試:{"id":"123"}并返回:{"id":"123"}然后,我使用這個作為 lambda GUI 中的測試:[{"id":"123"}]并返回:[{"id":"123"}]我把它放在一個API網關后面,并發送相同的字符串:curl https://69wisebmza.execute-api.us-east-1.amazonaws.com/default/simplestlambda -d '{"id":"123"}' --header "Content-Type: application/json"這將返回一個響應,其開頭為:{"id":"123"}所以這是有問題的代碼 - 唯一的變化是它接受并返回一段接口:package mainimport (    "github.com/aws/aws-lambda-go/lambda")func main() {    lambda.Start(Handler)}func Handler(s []interface{}) ([]interface{}, error) {    return s, nil}從 lambda GUI 測試控制臺中,我發送:[{"id":"123"}]并接收回:[{"id":"123"}]從同一個控制臺,我發送:{"id":"123"}并接收回此預期錯誤:{  "errorMessage": "json: cannot unmarshal object into Go value of type []interface {}",  "errorType": "UnmarshalTypeError"}目前為止,一切都好。現在,我把它放在一個API網關后面,并執行以下操作:curl https://oz72tn566l.execute-api.us-east-1.amazonaws.com/default/simplestslice -d '[{"id":"123"}]' --header "Content-Type: application/json"我得到:{"message":"Internal Server Error"}日志顯示:json: cannot unmarshal object into Go value of type []interface {}: UnmarshalTypeErrornull所以我想知道為什么這可能不起作用?
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

當您通過其他 AWS 事件源代理請求時,發送到 lambda 的有效負載將打包到事件對象中。


對于 API 網關,負載是一個事件。APIGateway代理請求,它不是切片,不能編組成.[]interface{}


github 存儲庫有一段文檔,演示如何構建處理程序??傊篴ws-lambda-go


func echoHandler(ctx context.Context, request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {

    fmt.Println(request.Body) // prints [{"id":"123"}]

    return events.APIGatewayProxyResponse{Body: request.Body, StatusCode: 200}, nil

}


查看完整回答
反對 回復 2022-09-19
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號