gpt4 book ai didi

node.js - 使用 KeyConditionExpression 的 dynamodb 查询问题

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:29 25 4
gpt4 key购买 nike

尝试根据 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com