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

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

使用無服務器調用函數時傳遞 JSON

使用無服務器調用函數時傳遞 JSON

Go
斯蒂芬大帝 2023-04-04 15:32:04
我正在使用無服務器運行一個用 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 控制臺調用事件并且它起作用了,所以問題很可能出在無服務器調用命令中。
查看完整描述

2 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

我通過將我的 JSON 放在文件中而不是命令本身找到了解決此問題的方法,這并不能解決我在問題中遇到的問題,但它是一種使用 Json 調用函數的方法


我添加了一個events/startAndEnd.json包含我的 json 數據的文件:


{

    "startAt":1533513600,

    "endAt":1534118399

}

并在調用命令中引用該文件:serverless invoke -f orders --path events/startAndEnd.json


查看完整回答
反對 回復 2023-04-04
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

如果您在通過 運行命令時遇到此問題npm。我在調用它時也遇到了類似的錯誤:

    "invoke": "serverless invoke --function myfunction --data \"{ \"Records\": []}\"",

通過將雙引號更改為單引號data然后突然開始工作:

    "invoke": "serverless invoke --function myfunction --data '{ \"Records\": []}'",


查看完整回答
反對 回復 2023-04-04
  • 2 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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