带有KeyConditionExpression的dynamodb查询问题



尝试使用nodejs-sdk根据dynawdb api文档使用KeyConditionExpression。nodejs SDK不支持KeyConditionExpression。

以下是我做的

创建了一个具有哈希和范围的表。

Table : TABLE1
Hash Attribute Name : Provider ( String) 
Range Attribute Key : ScheduledEndTime ( Number ) // In Milli Seconds

以下是触发发电机数据库查询的有效载荷:

{
  TableName: 'TABLE1',
  ConsistentRead: true,
  Select: "ALL_ATTRIBUTES",
  KeyConditionExpression: 'Provider = :v_provider AND ScheduledEndTime > :v_scheduledEndTime',
  ExpressionAttributeValues: {
    ":v_provider": {
      S: "amazon"
    },
    ":v_scheduledEndTime": {
      N: "10"
    }
  }
}; 

但是,上述有效载荷低于错误

[Error: MultipleValidationErrors: There were 2 validation errors:
* MissingRequiredParameter: Missing required key 'KeyConditions' in params
* UnexpectedParameter: Unexpected key 'KeyConditionExpression' found in    params]
[Error: MultipleValidationErrors: There were 2 validation errors:
* MissingRequiredParameter: Missing required key 'KeyConditions' in params
* UnexpectedParameter: Unexpected key 'KeyConditionExpression' found in params]

根据文档,如果我们使用KeyConditionExpression,SDK不应该考虑KeyConditions键,我也尝试了使用最新的nodejs-SDK。有效载荷模式有什么问题吗?

我认为有些地方(特别是Lambda(默认情况下会给您提供错误版本的API。当我遇到这个问题时,用以下软件替换我的发电机实例解决了这个问题:

var AWS = require("aws-sdk");
var dynamo = new AWS.DynamoDB({apiVersion: '2012-08-10'}); 

相关内容

  • 没有找到相关文章

最新更新