Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试在visual studio代码中使用SAM插件构建lambda函数,并尝试连接到MYSQL RDS实例,但不起作用_Javascript_Node.js_Visual Studio Code_Aws Lambda_Sam - Fatal编程技术网

Javascript 尝试在visual studio代码中使用SAM插件构建lambda函数,并尝试连接到MYSQL RDS实例,但不起作用

Javascript 尝试在visual studio代码中使用SAM插件构建lambda函数,并尝试连接到MYSQL RDS实例,但不起作用,javascript,node.js,visual-studio-code,aws-lambda,sam,Javascript,Node.js,Visual Studio Code,Aws Lambda,Sam,我正在使用visual studio代码SAM选项构建lambda函数。我正在尝试连接VPC网络中的RDS实例(MYSQL)。 我尝试使用以下代码连接。我没有收到任何错误,但它没有连接到数据库。我到处都找了,但没有找到任何解决办法。我试着跟随,但没有成功 const fs = require('fs'); const mysqlssh = require('mysql-ssh'); mysqlssh.connect( { host: '

我正在使用visual studio代码SAM选项构建lambda函数。我正在尝试连接VPC网络中的RDS实例(MYSQL)。 我尝试使用以下代码连接。我没有收到任何错误,但它没有连接到数据库。我到处都找了,但没有找到任何解决办法。我试着跟随,但没有成功

const fs = require('fs');


    const mysqlssh = require('mysql-ssh');
    mysqlssh.connect(
        {
            host: 'XXX.XXX.XX.XX',
            user: 'ec2-user',
            privateKey: fs.readFileSync('./XXXX-txlarge.pem')
        },
        {
            host: '-staging-instanceXXXXX.rds.amazonaws.com',
            user: 'user',
            password: 'password',
            database: 'db'
        }
    )
    .then(client => {
        client.query('SELECT * FROM users', function (err, results, fields) {
            if (err) throw err
            console.log(results);
            mysqlssh.close()
        })
    })

不要使用基于隧道的sql连接模块
mysql ssh
,尝试使用简单的
mysql
模块

const fs = require('fs');   

const mysql = require('mysql');
let connection = mysql.createConnection(
    {
        host: 'XXX.XXX.XX.XX-staging-instanceXXXXX.rds.amazonaws.com',
        user: 'user',
        password: 'password',
        database: 'db'
    }
);

 connection.connect();

 connection.query('SELECT * FROM users', function (err, results, fields) {
       if (err) throw err
        console.log("rows: " + rows);
        context.succeed('Success');
    });

PS:您可能需要根据需要修改一些代码,但这是您应该尝试执行的操作。

错误是什么?我没有收到任何代码,但没有连接到数据库尝试控制台客户端对象并显示results@sohan我打印了它给我的对象[object object],然后我尝试打印连接对象(客户端)的状态它正在断开连接。我对node js和lambda非常陌生。这是我的第一个lambda函数。因此,请告诉我我是否做了任何愚蠢或错误的事情。您可以尝试
JSON.stringyfy(客户端)
该对象并粘贴输出。它可能包含为什么断开连接的结果。也请检查@Sonali。如果您对这个答案进行投票,这将非常好,因为这将完成验收过程