【发布时间】:2021-10-28 03:03:53
【问题描述】:
我在 Amazon DynamoDB 上创建了一个名为 users 的表,其中包含两个项目 userID 和 userName。下面是我的简单 Lambda 函数的代码。我创建了一个名为userNameIntent 的意图,我希望能够从我的表中读取项目userName。所以我希望 Alexa 回复“你的用户名是”,然后是表中的 userName。对不起新手问题,编码很新,我似乎找不到简单的解决方案。我会很感激你的帮助。谢谢。
const Alexa = require('alexa-sdk');
var AWS = require('aws-sdk');
var DOC = require('dynamodb-doc');
var dynamodb = new AWS.DynamoDB.DocumentClient({region: 'eu-west-1'});
var params = {
TableName: 'users',
Key: {
"userID": "00001"
}
};
const handlers = {
'LaunchRequest': function () {
this.response.speak('Welcome');
this.emit(':responseReady');
},
'userNameIntent': function () {
this.response.speak('Your username is ');
this.emit(':responseReady');
}
};
exports.handler = function (event, context, callback) {
const alexa = Alexa.handler(event, context, callback);
alexa.APP_ID = APP_ID;
alexa.registerHandlers(handlers);
alexa.execute();
dynamodb.get(params, function(err, data) {
if (err){
callback ("error", null);
} else {
callback(null, data);
}
});
};
【问题讨论】:
-
看起来您已经有了获取该项目的代码。它在
data行中的callback(null, data);对象中,您只需要在那里做一些事情。
标签: amazon-web-services aws-lambda amazon-dynamodb