尝试使用AWS Lambdas并尝试从一个返回到同一AWS区域中托管的MongoLab数据库:
var mongodb = require('mongodb');
console.log('Loading function');
exports.handler = function(event, context) {
console.log("Connecting to Mongo");
mongodb.MongoClient.connect('mongodb://xxxx:xxxx@dsxxxx-a0.mlab.com:xxxx,xxxx-a1.mlab.com:xxxx/xxxxxx?replicaSet=rs-xxxxx', function(err, db) {
console.log("Connected to mongo");
var col = db.collection('tasks');
col.find({ }).toArray(function(err, docs) {
if (err) {
console.log('err > ' + err);
throw err;
}
console.log('docs.length > ' + docs.length);
docs.forEach(function(x) {
console.log(x._id);
});
db.close();
console.log("Done");
context.done(null, "finished");
});
});
};
我从Cloudwatch获取以下日志,因此我知道我正在调用Lambda并尝试连接到数据库,但它从未从连接尝试返回并在3秒后超时:
2016-03-01T11:08:33.546Z ... 加载功能
START RequestId:Version:... $ LATEST
2016-03-01T11:08:33.548Z ... 连接到Mongo
END RequestId:...
REPORT RequestId:...持续时间:3000.08毫秒
结算时长:3000毫秒内存大小:128 MB最大使用内存:35 MB
2016-03-01T11:08:36.547Z ... 任务在3.00秒后超时
连接uri测试从3T MongoChef测试很好,所以我知道它很好,但是在某处(说来自IAM )我需要设置或者我是否只是错过了一些明显的东西?