«Преобразование круговой структуры в JSON» во время чтения данных из MYSQL и помещения их в DynamoDB - PullRequest
0 голосов
/ 14 мая 2018

Я читаю данные из реплики чтения Авроры и помещаю их в DynamoDB.Я получаю данные из RDS правильно, но столкнулся с проблемами при вставке их в DynamoDB.Я делюсь своим кодом и сообщением об ошибке, пожалуйста, направьте меня ....

var AWS = require("aws-sdk");
var mysql = require('mysql');
const client = new AWS.DynamoDB.DocumentClient({region : 'eu-west-1'});
var connection  = mysql.createPool({
    host     : "**********",
    user     : "****",
    password : "*****",
    database : "mydb",
    port     : "3306"
  });
exports.handler = (event, context, callback) => {

    connection.query('select * from demo where id=2;', function (error, results, fields) {

        if (error) {

            if (error) throw error;

        } else {

            var data = {results};

            var params = {
            Item:{
                test_id:data.id,
                name:data.name,
                result:data.result
            },

            TableName: 'demo_rds_dynamoDB'
            };

            connection.end(function (err) { 
                callback(err, client.put(params, function(error,data){
       if(error){
           callback(error,null);
       }else{
           callback(null,data);
       }
    })
    );
    });

    }
});
};

Ниже приведены данные, которые я получаю от Aurora, и я хочу вставить в DynamoDB

Response:
[
  {
    "id": 2,
    "name": "Display",
    "result": "Pass"
  }
]

Иответ получен следующим образом, и иногда я получаю сообщение об ошибке, поскольку не могу прочитать свойство "id" undefined ,

Response:
{
  "errorMessage": "Converting circular structure to JSON",
  "errorType": "TypeError",
  "stackTrace": []
}

Request ID:
"896a64e3-573e-11e8-bb94-67c4be71eb3d"

Function Logs:
START RequestId: 896a64e3-573e-11e8-bb94-67c4be71eb3d Version: $LATEST
Unable to stringify response body as json: Converting circular structure to JSON: TypeError
    at Object.stringify (native)

1 Ответ

0 голосов
/ 14 мая 2018
Item:{
         test_id:results[0].id,
         name:results[0].name,
         result:results[0].result
     }

Результаты [0] .columnname

...