【发布时间】:2021-09-23 05:52:50
【问题描述】:
我一直在阅读有关 AWS Lambda 和 Dynamodb 的一些教程。我看到了,只是为了得到一条记录的响应,该记录是 Dyanamodb 表目前所有的记录,我看到延迟只有一秒多一点。我的意图是将来将 aws 服务用于聊天应用程序,但这种延迟对于聊天应用程序来说是不可接受的。
函数是如何调用的—— 我使用 API Gateway 调用 lambda 函数,然后 Lambda 函数依次调用 Dynamodb 表,通过函数返回响应,最后通过 API 返回给用户。
Lambda 代码 -
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB({region:'ca-central-1', apiVersion:'2012-08-10'});
exports.handler = (event,context,callback) => {
const params = {
Item: {
"UserId": {
S:"user_" + Math.random()
},
"Age": {
N:event.age
},
"Height": {
N:event.height
},
"Income": {
N:event.income
}
},
TableName: "compare-yourself"
};
dynamodb.putItem(params, function(err, data) {
if (err) {
console.log(err);
callback(err);
} else {
console.log(data);
callback(null, data);
}
});
};
【问题讨论】:
-
你如何衡量延迟?您使用 AWS 控制台的“测试”按钮调用 lambda?
-
我并没有真正测量它,但我确信在浏览器控制台中看到我的响应消息需要一秒钟的时间。我在 API Gateway 上进行了测试,并且我在 nodejs 中使用 codepen 创建了一个 API 调用函数。在原始帖子中添加了有关调用的更多详细信息。
-
您的 lambda 函数的内存大小(以 MB 为单位)?
-
你能显示代码吗?
-
@LRutten 128mb
标签: amazon-web-services aws-lambda amazon-dynamodb