我需要创建一个lambda函数来充当移动java应用程序和awsrdsmysql数据库之间的中间人。其思想是从移动应用程序提交查询,然后将它们发送到lambda函数,然后lambda函数将返回查询。我在aws lambda中设置了一个基本的mysql查询:
var mysql = require('mysql');
var config = require('./config.json');
var pool = mysql.createPool({
host : config.dbhost,
user : config.dbuser,
password : config.dbpassword,
database : config.dbname
});
exports.handler = (event, context, callback) -> {
context.callbackWaitsForEmptyEventLoop = false;
pool.getConnection(function(err, connection) {
if (err) throw err; // not connected!
// Use the connection
connection.query('select Album from record', function (error, results, fields) {
// When done with the connection, release it.
connection.release();
// Handle error after the release.
if (error) callback(error);
else callback(null, results[0].Album);
// Don't use the connection here, it has been returned to the pool.
});
});
};
我现在要做的就是让这段代码运行并输出查询将返回的内容。我看过一些教程,人们似乎只需单击test并运行代码,但它一直要求我创建一个测试,我不确定我到底需要做什么来测试这个函数。
编辑:我意识到我上传的lambda代码中缺少了一个小改动,但是我现在在第10行得到一个错误,说有一个意外的标记>。
我不确定这里出了什么问题,因为我看的教程似乎有相同的东西。
1条答案
按热度按时间yrwegjxp1#
因为您没有通过上下文传递任何参数,所以只需创建一个带有默认值的测试或一个空对象{},然后在控制台中单击test。它将调用你的lambda函数,就好像它是从你的移动应用程序调用的一样,你可以从那里进行调试。