【发布时间】:2020-02-25 01:13:32
【问题描述】:
我正在使用 AWS 异步 lambda 函数,它为我的 Alexa 智能家居技能将数据写入 DynamoDB 表。我遇到的问题是它不使用异步写入数据库。但是,我将它转换为同步,它会正常工作。我在 Javascript 方面没有太多经验,在使用 Promise 方面经验为零。我想知道我的代码/承诺有什么问题。
感谢您的帮助或建议!
exports.handler = async function (event, context) {
// Dump the request for logging - check the CloudWatch logs
console.log("index.handler request -----");
sendToDynamo("Signal-01","powerState","ON");
}
function sendToDynamo(endpoint,state,value) {
console.log("send to dynamo start")
var ddb = new AWS.DynamoDB({
apiVersion: '2012-08-10',
region: 'us-east-1'})
var params = {
TableName: "TestDB",
Item: {
'ItemId':{
S: endpoint
} ,
'State':{
S: state
} ,
'Value':{
S: value
}
}
};
var putObjectPromise = ddb.putItem(params).promise();
putObjectPromise.then(function(data) {
console.log('*** Success ***');
})
.catch(function(err) {
console.log(err);
});
}
【问题讨论】:
标签: javascript node.js aws-lambda alexa alexa-skills-kit