我有一个要求,在Dynamodb中查询表时,只需要返回一行即可。我可以在aws-cli中看到一个名为“ max-items”的参数,该参数显然限制了查询的结果大小。这是示例查询:
aws dynamodb query --table-name testTable --key-condition-expression "CompositePartitionKey = :pk"
--expression-attribute-values '{ ":pk": { "S": "1234_125" }, ":ps": { "S": "SOME_STATE" }
}'
--filter-expression 'StateAttribute IN (:ps) AND attribute_not_exists(AnotherAttribute)'
--index-name GSI_PK_SK --endpoint-url http://localhost:8000 --max-items 1
但是我无法在Go中找出任何类似的关键字/属性。
这是我可以找到的相关内容:How to set limit of matching items returned by DynamoDB using Java?
您可以在DynamoDB对“查询”操作的正式描述中看到https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html-您要查找的参数是“限制”。请参阅您的Go库文档,以了解如何准确地将此参数传递给查询。
顺便说一下,请注意Limit并没有完全限制返回结果的数量,而是限制了在服务器端读取的行数。如果您的查询具有过滤器,则其返回的结果可能少于限制的结果。我不知道这对您是否重要。