我得到"在完成请求之前退出流程"执行lambda函数时。
当我检查云监视中的日志时,它会显示错误
"无法在关机存储桶上执行操作。"或者有时会说
{ "errorMessage": "Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout",
"errorType": "CouchbaseError",
"stackTrace": []
}
我正在使用以下npm包与数据库服务器进行通信:couchbase,ottoman。
以下是exports.handler函数:
exports.handler = function(event, context, callback) {
function sendResponse(error, data) {
ottoman.bucket.disconnect();
console.log("error : ", error);
console.log("data : ", data);
callback(error, data);
}
console.log("17", event);
if(event.id != undefined) {
user.find({ _id: event.id }, function(error, result) { //this line generates the error
if (error) {
sendResponse(error, null);
}
console.log("22 : ", result);
});
}
});
以下是我的数据库连接文件:
var couchbase=require('couchbase');
var ottoman=require('ottoman');
var config = require("./config");
var myCluster = new couchbase.Cluster(config.couchbase.server);
module.exports.bucket = myCluster.openBucket(config.couchbase.bucket,function (error) {
if(error) {
console.log(error);
}
module.exports.bucket.operationTimeout=20000;
module.exports.bucket.n1qlTimeout=100000;
console.log("Successfully opened igt bucket");
ottoman.bucket = module.exports.bucket; });
我们还有user.find()方法的替代函数,如user.getById(),但它也会出现相同的错误。
可能导致此问题的原因。