不提供范围键时batchGetItem错误

时间:2014-02-02 18:08:05

标签: javascript node.js amazon-dynamodb

我有一个带有哈希键和范围键的表,我正在尝试执行batchGetItem。

当我提供范围键时,我从查询中得到结果:

var params = {
                "RequestItems": {
                    "properties": {
                        "Keys": [{
                            "propertyID": {
                                "S": "11937282"
                            },
                            "createdAt": {
                                "N": "1391280948445"
                            }
                        }, {
                            "propertyID": {
                                "S": "11937225"
                            },
                            "createdAt": {
                                "N": "1391355074910"
                            }
                        }]
                    }
                }
            }

当我没有指定范围键时,我收到一个错误:'提供的关键元素与架构不匹配'

var params = {
                    "RequestItems": {
                        "properties": {
                            "Keys": [{
                                "propertyID": {
                                    "S": "11937282"
                                }
                            }, {
                                "propertyID": {
                                    "S": "11937225"
                                }
                            }]
                        }
                    }
                }

根据文档,您只提供主键。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

BatchGetItem让您可以一次获得N个项目,但您必须指定您想要获得的每个项目的完整密钥。

如果您尝试获取某个哈希键中的所有项目,则必须改为使用Query API