查询多个项目的DynamoDb

时间:2017-05-03 15:10:32

标签: amazon-web-services amazon-dynamodb

我认为我误解了DynamoDb。我想查询所有项目,json的子字段,它匹配我传递的标识符。结构类似于 -

{
        "messageId": "ced96cab-767e-509198be5-3d2896a3efeb",
        "identifier": {
            "primary": "9927fd47-5d33-4f51-a5bb-f292a0c733b1",
            "secondary": "none",
            "tertiary": "cfd96cab-767e-5091-8be5-3d2896a3efeb"
        },
        "attributes": {
            "MyID": {
                "Type": "String",
                "Value": "9927fd47-5c33-4f51-a5bb-f292a0c733b1"
            }
        }
}

我想查询DynamoDb中具有我传递的MyID值的所有项目。我读过的所有东西似乎都说你需要使用密钥,在我的例子中是messageId,这对于每个条目都是唯一的,而不是我可以使用的值。

希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

仅当您知道分区键的值时,才能使用 DynamoDB查询API 。否则,您可能需要使用FilterExpression扫描整个表格以找到该项目。

Scanning tables

您只能在标量属性上创建GSI。在上述情况下,它是文档数据类型(即MAP)。因此,无法创建GSI。