Amazon dynamodb Dynamo DB-Lambda函数未返回错误?
我在dynamo DB表中使用用户名和类名作为分区和排序键。插入重复记录时,AWS web控制台上出现预期错误。(状态代码:400;错误代码:ConditionalCheckFailedException;)。现在,我尝试使用以下代码插入lambda函数中的记录。它第一次在独特的记录上运行良好,正如预期的那样。但是当我尝试插入同一条记录时,它不应该抛出相同的错误吗?我没有得到错误的回复。 这有什么问题?仅供参考。。重复未插入的记录(至少这是预期的情况)Amazon dynamodb Dynamo DB-Lambda函数未返回错误?,amazon-dynamodb,aws-lambda,aws-sdk,Amazon Dynamodb,Aws Lambda,Aws Sdk,我在dynamo DB表中使用用户名和类名作为分区和排序键。插入重复记录时,AWS web控制台上出现预期错误。(状态代码:400;错误代码:ConditionalCheckFailedException;)。现在,我尝试使用以下代码插入lambda函数中的记录。它第一次在独特的记录上运行良好,正如预期的那样。但是当我尝试插入同一条记录时,它不应该抛出相同的错误吗?我没有得到错误的回复。 这有什么问题?仅供参考。。重复未插入的记录(至少这是预期的情况) 关于这个项目的文件非常清楚 创建新项目,
关于这个项目的文件非常清楚
创建新项目,或用新项目替换旧项目。如果指定表中已存在与新项具有相同主键的项,则新项将完全替换现有项。您可以执行条件put操作(如果不存在具有指定主键的项,则添加新项),或者如果现有项具有某些属性值,则替换现有项。您可以使用ReturnValues参数在同一操作中返回项的属性值。否,如前所述,它不应该抛出错误。它应该被覆盖。控制台可能正在向请求中添加其他内容。
const AWS = require('aws-sdk');
// const dynamoDB = new AWS.DynamoDB({region: 'us-east-2', apiVersion: '2012-08-10'});
const docClient = new AWS.DynamoDB.DocumentClient({
region: 'us-east-2',
apiVersion: '2012-08-10'
});
exports.handler = (event, context, callback) => {
var params = {
Item: {
userName: event.userName,
className: event.className
},
ReturnValues: "ALL_OLD",
TableName: "IRAT-COLLECTIONS"
};
docClient.put(params, function(err, data) {
if (err) {
console.log(err)
callback(err);
} else {
console.log('data successfully written')
console.log(data)
callback(null, data);
}
})
};