gpt4 book ai didi

node.js - 无法通过lambda从nodejs代码访问dynamodb

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:26 24 4
gpt4 key购买 nike

我一直在尝试从 lambda 测试这一点,但无法继续。

    var Alexa = require("alexa-sdk");

var dynamoDBConfiguration = {
"accessKeyId": "useraccess",
"secretAccessKey": "usersecretkey",
"region": "us-east-1"
};
var AWS = require("aws-sdk");
AWS.config.update(dynamoDBConfiguration);
var promisify = require("es6-promisify");
var dynClient = new AWS.DynamoDB.DocumentClient({"region":"us-east-
1"});


//convert callback style functions to promises
const dbGet = promisify(dynClient.get,dynClient);
const dbPut = promisify(dynClient.put,dynClient);
const dbDelete = promisify(dynClient.delete,dynClient);


var startStateHandlers = (GAME_STATES.STARt, {
"StartGame": function (isNewGame,context) {

const dynamoParams = {
TableName: "Userdata",
Key: {
"UserId":"test"
}
}

dbGet(dynamoParams)
.then(data => {
console.log('Get user succeeded', data);
const userId = data.UserId;

if (userId != null) {
console.log(data.UserName);
}
else {
// no match, add the user
return dbPut(dynamoParams);
}
})
.then(data => {
console.log('Add user succeeded', data);
})
.catch(err => {
console.error(err);
});

this.emit(":tell", speechOutput, speechOutput);
}
});
var handlers = {
"LaunchRequest": function () {
var speechOutput = "hello";
this.emit(":tell", speechOutput, speechOutput);
}
};
var handler = (function () {
function handler(event, context, callback) {
var alexa = Alexa.handler(event, context);
alexa.appId = "appid";

alexa.registerHandlers(handlers, startStateHandlers);
alexa.execute();
}
return handler;
})();
exports.handler = handler;

它不会在 lamda 日志中引发任何错误,并且无法在 Cloudwatch 中看到任何日志。它只是执行其他代码行。

我已将所有权限策略附加到用户并将 lamda 函数设置为 lambda_dynamo。

无法理解它出了什么问题。

感谢您的帮助。

最佳答案

var dynamoDBConfiguration = {
"accessKeyId": "useraccess",
"secretAccessKey": "usersecretkey",
"region": "us-east-1"
};
var AWS = require("aws-sdk");
// update the AWS.Config global configuration object
AWS.config.update(dynamoDBConfiguration)
// Create DynamoDB document client
var dynClient = new AWS.DynamoDB.DocumentClient()

关于node.js - 无法通过lambda从nodejs代码访问dynamodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com