我有一個表中的極光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網關測試接口進行測試時,我收到了類似的結果。