- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
尝试根据 dynamodb api 使用 KeyConditionExpression document使用 nodejs SDK。 nodejs SDK 不支持 KeyConditionExpression。
这是我做的
创建了一个具有哈希和范围的表。
Table : TABLE1
Hash Attribute Name : Provider ( String)
Range Attribute Key : ScheduledEndTime ( Number ) // In Milli Seconds
这里是触发 dynamo 数据库查询的负载:
{
TableName: 'TABLE1',
ConsistentRead: true,
Select: "ALL_ATTRIBUTES",
KeyConditionExpression: 'Provider = :v_provider AND ScheduledEndTime > :v_scheduledEndTime',
ExpressionAttributeValues: {
":v_provider": {
S: "amazon"
},
":v_scheduledEndTime": {
N: "10"
}
}
};
但是,上面的 payload 抛出了下面的错误
[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 版本。当我遇到这个问题时,将我的 dynamo 实例替换为以下修复了问题:
var AWS = require("aws-sdk");
var dynamo = new AWS.DynamoDB({apiVersion: '2012-08-10'});
关于node.js - 使用 KeyConditionExpression 的 dynamodb 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31219436/
我在使用以下代码时遇到问题。最难理解的是,当很多查询操作在很短的时间间隔内发生时,表达式总是发生。 表达式如下: 2017-03-05 15:03:59,053 data_sync_worker.py
我使用 Lambda 作为后端,并通过它执行所有 DynamoDB 操作。 我有一个用户表Users,我想通过其哈希键用户名来查询它 在我的 params 变量上使用 KeyConditionExpr
我无法理解为什么以下对 DynamoDB 表的查询不起作用: dict_table.query(KeyConditionExpression='norm = :cihan', ExpressionAt
我想知道当我在 dynamodb 中进行查询并使用 filterexpression 而不是 keyconditionexpression 时是否存在成本差异。 我需要创建索引才能使用过滤器表达式吗?
我正在尝试使用查询表达式获取 尝试编辑 - 1 次通过 调用查询操作时发生错误(ValidationException):Invalid KeyConditionExpression:语法错误; to
我正在使用 boto3 查询 DynamoDB。而且我听说 table.query() 比 table.scan() 更有效率我想知道是否有一种方法可以使用 query() 方法检查该值是否存在? r
我有一个 AWS DynamoDb 表, 我有 user_id 作为索引或 GSI(user_id-index), 我也有 product_type 作为索引或 GSI(prod_type-ind
尝试根据 dynamodb api 使用 KeyConditionExpression document使用 nodejs SDK。 nodejs SDK 不支持 KeyConditionExpres
我正在尝试在我的 php 应用程序中使用 amazon dynamodb。我已正确设置凭据。现在,我正在尝试将数据从 Amazon DynamoDB 获取到我的应用程序。但它在查询行给了我一个异常(e
我有一个 DynamoDB 表,其中 feed_guid 作为全局二级索引。我想使用该表中的一组 feed_guid 进行查询。由于 feed_guid 不是我的主键,因此我无法使用 getBatch
KeyConditionExpression 中不允许使用 OR 条件。有什么替代方案吗? 下面是我的代码: project_id:主键 project_name:排序键 在 UI 文本框中输入项目名
我有一个 DynamoDb 表,其中包含两个键的 GSI - 字符串字段“id”(分区键)和数字字段“count”(排序键)。 我正在尝试找出如何使用 SDK 中的 DynamoDbEnhancedC
我是一名优秀的程序员,十分优秀!