大佬教程收集整理的这篇文章主要介绍了AWS Lambda RDS连接超时,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我要感谢所有提供帮助的人,这个问题原来与我想像的不同。该callBACk
代码不会因为即使是在亚马逊自己的默认采样某些原因。
工作代码如下所示:
'use Strict'; console.log("Loading getContacts function"); var AWS = require('aws-sdk'); var MysqL = require('MysqL'); exports.handler = (event, context) => { var connection = Mysql.createConnection({ host : '...', user : '...', password : '...', port : 3306, database: 'ebdb', deBUG : false }); connection.connect(function(err) { if (err) context.fail(); else context.succeed('success'); }); };
@H_674_11@解决方法
我正在尝试使用连接到RDS数据库的Node.js编写Lambda函数。该数据库正在运行,并且可以从我的Elastic
Beanstalk环境访问。当我运行该函数时,它将返回超时错误。尝试将超时延长到5分钟,结果完全相同。
经过一些研究,我得出的结论是,这可能是一个安全问题,但无法在Amazon文档或此答案中找到解决方案(这是我只能在该主题上找到的解决方案)。
以下是安全性详细信息:
- RDS和Lambda都在同一安全组中。
- RDS具有“所有流量入站和出站规则”。
- Lambda具有AmazonVPCFullAccess策略。
我的代码是:
'use Strict'; console.log("Loading getContacts function"); var AWS = require('aws-sdk'); var mysql = require('mysql'); exports.handler = (event,context,callBACk) => { var connection = mysql.createConnection({ host : '...',user : '...',password : '...',port : 3306,database: 'ebdb',debug : false }); connection.connect(function(err) { if (err) callBACk(null,'error ' +err); else callBACk(null,'success'); }); };
@H_674_11@我得到的结果是:
"errormessage": "2017-03-05T05:57:46.851Z 9ae64c49-0168-11e7-b49a-a1e77ae6f56c Task timed out after 10.00 seconds"
@H_674_11@大佬总结
以上是大佬教程为你收集整理的AWS Lambda RDS连接超时全部内容,希望文章能够帮你解决AWS Lambda RDS连接超时所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。