【发布时间】:2018-03-29 12:11:52
【问题描述】:
我无法使用 Lambda 函数中的 Node 连接到 MySQL 数据库。我收到的错误是Task timed out after 4.00 seconds。
有人有解决办法吗?
以下是我的状态概览:
- AWS RDS 数据库是 MySQL 数据库。它不仅限于 VPC(我可以使用 MySQLWorkbench 中的主机/用户/密码进行连接)。
- 我的 Lambda 函数的执行角色设置为将 Lambda 作为受信任的实体并授予管理员访问权限。
- 在我的本地机器上,我安装了 mysql 模块,压缩了我的 index.js 和 node_modules 文件夹,然后上传到我的 Lambda 函数。
- 我已尝试将 createConnection 和 connect 函数放入处理程序中。我尝试将我的查询放在连接函数的回调函数中。我已尝试将超时时间增加到 10 秒。
-
我的代码:
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'amazon-string.rds.amazonaws.com', user : 'myusername', password : 'mypassword' }); connection.connect(); exports.handler = (event, context, callback) => { connection.query("SELECT * FROM table", function(err, rows, fields) { console.log("rows: " + rows); callback(null); }); };
【问题讨论】:
标签: node.js amazon-web-services lambda aws-lambda