0

我有一個表中的極光DB。我正在嘗試AWS API網關,AWS Lambda和AWS Aurora DB。AWS LAMBDA試圖寫event.body極光DB拋出錯誤

我創建一個lambda函數確實從API網關收到請求,並觸發了處理函數,但它不寫event.body表。

exports.insertBill = function(event, context, callback) { 


    context.callbackWaitsForEmptyEventLoop = false; 

    console.log(event.body); 

    var query = rDBConnection.query('INSERT INTO Bill SET ?', event.body, function(err, result) { 
     if (err) { 
      callback(null, {"statusCode": 400, "body": JSON.stringify(err)}); 

     } else { 
     var recordId = result.insertId; 
     console.log("Record ID " + recordId); 
     var result = {recordId}; 
     callback(null, {"statusCode": 200, "body": JSON.stringify(result)}); 
     } 
     }); 



    } 

該代碼確實連接到數據庫。當我嘗試定身如下(從LAMBDA測試接口)

"body": "{\n  \"vendor_Id\" : 101,\n \"user_Id\" : 2224\n \n }", 

它會顯示身體(從執行console.log):

{ 
    "vendor_Id" : 101, 
    "user_Id" : 2224 

} 

而是拋出一個SQL錯誤:

{ 
    "statusCode": 400, 
    "body": "{\"code\":\"ER_PARSE_ERROR\",\"errno\":1064,\"sqlState\":\"42000\",\"index\":0}" 
} 

,當我在rDBConnection.query嘗試硬編碼值就像{ "vendor_Id" : 101, "user_Id" : 2224 }代替event.body的 - >在這種情況下,代碼寫入數據庫記錄。

我不知道我在這裏失蹤。從API網關測試接口進行測試時,我收到了類似的結果。

回答