AWS REST лямбда-API. Я не могу получить результаты с MySQL и Node.js - PullRequest
1 голос
/ 21 марта 2020

Я новичок в node.js. Я использую AWS с node.js и MySQL для создания лямбда-функции, но я не могу перехватить результаты в моем обработчике, мой экземпляр базы данных находится в службе RDS.

Когда я запускаю обратный вызов в консоли он показывает мне гигантский и нечитаемый json с информацией из базы данных, но не из записей, с которыми я консультируюсь, почему это так? потому что это происходит, я делаю что-то не так?

Это мой код:

'use strict';

const AWS = require("aws-sdk");
AWS.config.update( { region: "us-west-2" } );
var mysql = require('mysql');
var querystring = require('querystring');

 
 const con = mysql.createConnection({
  host     : process.env.RDS_HOSTNAME,
  user     : process.env.RDS_USERNAME,
  password : process.env.RDS_PASSWORD,
  database : process.env.RDS_DB_NAME
});
 
exports.handler = async (event, context, callback) => {
 
    context.callbackWaitsForEmptyEventLoop = false;
    const results = await con.query('SELECT * FROM `documentoApp_rptenviadoclon`;');
    await con.end();
    if (results) {
        callback(null, {
            statusCode: 200,
            headers: {
                'Access-Control-Allow-Headers': 'Content-Type,X-Amz-Date,Authorization,X-Requested-With',
                'Access-Control-Allow-Methods': 'GET,POST,OPTIONS',
                'Access-Control-Allow-Origin':  '*'
            },
            body: JSON.stringify(results)
        });
    } else {
        callback('error', {
            statusCode: 400,
             headers: {
                'Access-Control-Allow-Headers': 'Content-Type,X-Amz-Date,Authorization,X-Requested-With',
                'Access-Control-Allow-Methods': 'GET,POST,OPTIONS',
                'Access-Control-Allow-Origin':  '*'
            },
            body: {
                message: 'No results found.'
            },
        });
    }
};

Я попытался поместить console.log в тело ответа, и вот что он показывает, гигантский и неразборчивый json, о котором я говорю:

START RequestId: 80dfacdb-034b-41bc-8c53-e5eb3347d035 Version: $LATEST
2020-03-20T21:57:15.134Z	80dfacdb-034b-41bc-8c53-e5eb3347d035	INFO	Query {
  _events: [Object: null prototype] {
    error: [Function],
    packet: [Function],
    timeout: [Function],
    end: [Function]
  },
  _eventsCount: 4,
  _maxListeners: undefined,
  _callback: undefined,
  _callSite: Error
      at Protocol._enqueue (/var/task/node_modules/mysql/lib/protocol/Protocol.js:144:48)
      at Connection.query (/var/task/node_modules/mysql/lib/Connection.js:198:25)
      at Runtime.exports.handler (/var/task/index.js:19:31)
      at Runtime.handleOnce (/var/runtime/Runtime.js:66:25),
  _ended: false,
  _timeout: undefined,
  _timer: Timer { _object: [Circular], _timeout: null },
  sql: 'SELECT * FROM `documentoApp_rptenviadoclon`;',
  values: undefined,
  typeCast: true,
  nestTables: false,
  _resultSet: null,
  _results: [],
  _fields: [],
  _index: 0,
  _loadError: null,
  _connection: Connection {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined,
    config: ConnectionConfig {
      host: '--hidden--',
      port: 3306,
      localAddress: undefined,
      socketPath: undefined,
      user: '--hidden--',
      password: '--hidden--',
      database: '--hidden--',
      connectTimeout: 10000,
      insecureAuth: false,
      supportBigNumbers: false,
      bigNumberStrings: false,
      dateStrings: false,
      debug: undefined,
      trace: true,
      stringifyObjects: false,
      timezone: 'local',
      flags: '',
      queryFormat: undefined,
      pool: undefined,
      ssl: false,
      localInfile: true,
      multipleStatements: false,
      typeCast: true,
      maxPacketSize: 0,
      charsetNumber: 33,
      clientFlags: 455631
    },
    _socket: Socket {
      connecting: true,
      _hadError: false,
      _parent: null,
      _host: 'dbportalreportes-dev.cjawt1xkypqu.us-west-2.rds.amazonaws.com',
      _readableState: [ReadableState],
      readable: false,
      _events: [Object: null prototype],
      _eventsCount: 5,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: true,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: null,
      _server: null,
      timeout: 10000,
      [Symbol(asyncId)]: 3,
      [Symbol(kHandle)]: [TCP],
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: Timeout {
        _idleTimeout: 10000,
        _idlePrev: [TimersList],
        _idleNext: [TimersList],
        _idleStart: 469,
        _onTimeout: [Function: bound ],
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: false,
        [Symbol(refed)]: false,
        [Symbol(asyncId)]: 7,
        [Symbol(triggerId)]: 0
      },
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0
    },
    _protocol: Protocol {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      readable: true,
      writable: true,
      _config: [ConnectionConfig],
      _connection: [Circular],
      _callback: null,
      _fatalError: null,
      _quitSequence: [Quit],
      _handshake: true,
      _handshaked: false,
      _ended: false,
      _destroyed: false,
      _queue: [Array],
      _handshakeInitializationPacket: null,
      _parser: [Parser]
    },
    _connectCalled: true,
    state: 'disconnected',
    threadId: null
  }
}
END RequestId: 80dfacdb-034b-41bc-8c53-e5eb3347d035
REPORT RequestId: 80dfacdb-034b-41bc-8c53-e5eb3347d035	Duration: 208.98 ms	Billed Duration: 300 ms	Memory Size: 128 MB	Max Memory Used: 92 MB	Init Duration: 415.02 ms

Надеюсь, вы мне поможете, большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...