質問: mysql.createConnection({ host : 'RDSからエンドポイントを指定', user : 'MySQLのユーザ名', password : 'MySQLのパスワード', database : 'testDB' }); connection.connect(function(err) { if (err) { console.error('error connecting: ' + err.stack); return; } console.log('connected as id ' + connection.threadId); }); connection.query('show tables', function(err) { if (err) { console.error('error connecting: ' + err.stack); return; } console.log('connected as id ' + connection.threadId); }); connection.query('select * from testTable', function(err, rows, fields) { if (err) { console.log("--err"); console.log(err); throw err; } console.log(rows); console.log(fields); }); connection.end(function(err) { context.done(); }); }; ``` Lambdaでの設定を載せます。 * Code Code entry type : Upload a .ZIP file * Configuration Runtime : Node.js 4.3 Handler : index.handler Role : Chose an existing role Existing role : lambda_basic_vpc_execution VPC : VPCを設定(VPCは全体で1つしか作っていません) Subnets : ap-northeast-1a,-northeast-1c Security Groups : DBのセキュリティグループと同じものを設定 これで、Lambdaのテストを実行すると ``` { "errorMessage": "2016-07-19T00:07:13.619Z oooooooo-oooo-oooo-oooo-oooooooooooo Task timed out after 3.00 seconds" } ``` と赤文字で返って来ます。 jsoneは普通に実行する分には取得したいものが取得できていました。 分かりにくいかもしれませんが困っています。 解決策、問題点を教えて下さい。 よろしくお願いします。 長文になりましたが読んでくださりありがとうございました。
回答: `Task timed out after 3.00 seconds` 文字通り捉えれば、Lambda Functionに設置しているタイムアウト値が3秒になっており、 実際の処理が3秒以上かかるためにタイムアウトとなっているのでしょう。 テスト実行などで処理時間を計測したのちに、適切なタイムアウト値に設定してあげてください。