我创建了一个lambda函数。这是代码:
exports.handler = async event => {
if(event.method ==='GET')
{
const sql = require('mssql');
const config = {
user: username,
password: password,
server: server,
database: database,
options: {
encrypt: true
}
}
try {
// Open DB Connection
let pool = await sql.connect(config)
// Query Database
let result = await pool.request()
.query('select * from account')
// Close DB Connection
pool.close();
// The results of our query
console.log("Results:", result);
return {
statusCode:200,
body:JSON.stringify(result)
}
} catch (err) {
// Error running our SQL Query
console.error("ERROR: Exception thrown running SQL", err);
}
return {
statusCode:200,
body:'Nothing to load'
}
}
else
return {statusCode:405};
};
我有几个与此lambda函数有关的问题。我在这里列出:
答案 0 :(得分:0)
如果您使用的是无服务器,则可以在serverless.yml中设置timeout: 30000
参数
您可以在本地运行无服务器功能
serverless invoke local --stage staging -f functionName -p testData/event.json
答案 1 :(得分:0)
let AWS = require('aws-sdk');
let lambda = new AWS.Lambda();
exports.handler = async (event) => {
return await lambda.getAccountSettings().promise() ;
};
您可以在the documentation中看到关于lambda默认超时为15分钟的答案。如果您指的是mysql的连接,则可以在the documentation中看到requestTimeout和connectionTimeout的默认值均为15秒。