我想使用分区键和排序键查询DynamoDB表。排序键是Unix日期,因此我希望请求在排序键上这两个日期之间的x分区键。我目前能够通过表扫描来实现这一点,但出于速度考虑,我必须将其移动到查询中。我无法找到任何在线示例,展示了使用分区键和排序键查询表的方法。
我已经仔细阅读了https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/#DynamoDB.Query,并了解到我的参数必须放在KeyConditionExpression中。
我已经阅读了https://github.com/aws/aws-sdk-go/blob/master/service/dynamodb/expression/examples_test.go,并基本理解了它。但我无法找到KeyConditionExpression的语法。
我原以为它应该是这样的:
我已经仔细阅读了https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/#DynamoDB.Query,并了解到我的参数必须放在KeyConditionExpression中。
我已经阅读了https://github.com/aws/aws-sdk-go/blob/master/service/dynamodb/expression/examples_test.go,并基本理解了它。但我无法找到KeyConditionExpression的语法。
我原以为它应该是这样的:
keyCond := expression.Key("accountId").
Equal(expression.Value(accountId)).
And(expression.Key("sortKey").
Between(expression.Value(fromDateDec), expression.Value(toDateDec)))
但是这会抛出以下错误:
ValidationException: 无效的KeyConditionExpression:操作符或函数的错误操作数类型;操作符或函数:BETWEEN,操作数类型:NULL