首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dynamodb getBatchItem ValidationException

Dynamodb getBatchItem ValidationException
EN

Stack Overflow用户
提问于 2015-07-01 22:56:22
回答 2查看 1.2K关注 0票数 0

在dynamodb表上运行batchGetItem函数时获取ValidationException。我在关键字列表下给出了散列键和范围键。下面是请求和响应。

请求:

代码语言:javascript
复制
var params = {"RequestItems":{"table":{"Keys":[{"hash_key":{"S":"xx.xxx.xxx.xxx"}},{"range_key":{"S":"xxxxx"}}]}}};

dynamodb.batchGetItem(params,function(err, res) {if(err) {console.log(err)}else{console.log(res);}});

响应:

代码语言:javascript
复制
{ [ValidationException: The provided key element does not match the schema]
  message: 'The provided key element does not match the schema',
  code: 'ValidationException',
  time: Tue Jun 30 2015 17:34:07 GMT-0400 (EDT),
  statusCode: 400,
  retryable: false,
  retryDelay: 0 }
EN

回答 2

Stack Overflow用户

发布于 2015-08-12 05:40:08

看起来AWS Node JS有一个bug,因为我们不需要提到键的数据类型。

我试过了,效果很好。

代码语言:javascript
复制
{
"RequestItems":{
  "<TableName>":{
    "Keys":[
         {"<HashKeyName>":"<HashKeyValue1>", "<RangeKeyName>":"<RangeKeyValue2>"},
         {"<HashKeyName>":"<HashKeyValue2>", "<RangeKeyName>":"<RangeKeyValue2>"}
        ]
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2015-07-02 09:13:05

当您的表的模式与您提供的键的键模式不匹配时,会出现此错误。您使用Hash=String和Range=String提供了密钥。您的表的模式是什么?您可以使用DescribeTable应用编程接口来获取表的模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31164873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档