0

오로라 DB에 테이블이 있습니다. AWS API Gateway, AWS Lambda 및 AWS Aurora DB를 시험하고 있습니다.AWS 람다가 event.body를 Aurora DB에 쓰려고 할 때 오류가 발생했습니다

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)}); 
     } 
     }); 



    } 

코드가 DB에 연결됩니다.

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

} 

을하지만, SQL 오류가 발생합니다 : 내가

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

(람다 테스트 인터페이스에서)으로 다음과 몸을 설정하려고하면 그것은 (CONSOLE.LOG에서)로 몸을 표시 않습니다

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

{ "vendor_Id" : 101, "user_Id" : 2224 } 같은 하드 코딩 된 값을 시도 할 때 rDBConnection.query 대신 event.body ->이 경우 코드는 DB 레코드를 씁니다.

여기에 무엇이 누락되어 있는지 잘 모르겠습니다. API Gateway Test Interface에서 테스트하는 동안 비슷한 결과가 나타납니다.

답변

관련 문제