Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS:当我试图更新dynamodb中的一个项时,出现了以下错误:提供的键元素与架构不匹配_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

Amazon web services AWS:当我试图更新dynamodb中的一个项时,出现了以下错误:提供的键元素与架构不匹配

Amazon web services AWS:当我试图更新dynamodb中的一个项时,出现了以下错误:提供的键元素与架构不匹配,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,当我尝试更新dynamodb中的项目时,出现以下错误: var docClient = new AWS.DynamoDB.DocumentClient(); function updateItem() { var table = "Bicycle"; var params = { TableName:table, Key:{ warrantyDate: "2018/10/23", warranty

当我尝试更新dynamodb中的项目时,出现以下错误:

var docClient = new AWS.DynamoDB.DocumentClient();

function updateItem() {
    var table = "Bicycle";

    var params = {
        TableName:table,
        Key:{
            warrantyDate: "2018/10/23",
            warrantyStatus: "Active"
        },
        UpdateExpression: "set warrantyStatus = :r",
        ExpressionAttributeValues:{
            ":r":"Inactive"
        },
        ReturnValues:"UPDATED_NEW"
    };

    docClient.update(params, function(err, data) {
        if (err) {
            alert("Unable to update item");
             alert(err);
        } else {
            alert("UpdateItem succeeded");
        }
    });
}
调用此函数时,我收到以下异常:

ValidationException:提供的键元素与架构不匹配


如何修复此问题?

问题在于,您的键属性值与dynamodb表上的主分区键不匹配

更新项目时,需要指定映射到dynamodb表上主键的单键。键字段中应该只有一个属性。您正试图找到一个键,该键既是保修日期又是保修状态。确保指定了映射到dynamodb配置的正确密钥


如果您试图更新多个项目,则需要使用另一个函数,如doClient.update()仅更新与表上的主索引匹配的键的单行

问题在于,您的KEY属性值与dynamodb表上的主分区键不匹配

更新项目时,需要指定映射到dynamodb表上主键的单键。键字段中应该只有一个属性。您正试图找到一个键,该键既是保修日期又是保修状态。确保指定了映射到dynamodb配置的正确密钥

如果您试图更新多个项目,则需要使用另一个函数,如doClient.update()仅更新与表上的主索引匹配的键的单行