我在c#中使用dynamodb。
我能够扫描所有记录。但要求是对非键列进行查询,但我无法得到它,
我发现此链接Querying DynamoDB on non-key attributes,但无法获取
如果我能获得任何链接或任何样本
会更好答案 0 :(得分:0)
我完成了这个解决方案
Amazon.DynamoDBv2.Model.Condition cond = new Condition();
cond.ComparisonOperator = "EQ";
cond.AttributeValueList = new List<AttributeValue>() { new AttributeValue { S = "ColumnValue" /*Media.ConvertToTimestamp(twoWeeksAgoDate).ToString()*/ } };
ScanResponse scRes = client.Scan(new ScanRequest { TableName = "TableName", ScanFilter = new Dictionary<string, Condition>() { { "ColumnName", cond } } });
答案 1 :(得分:0)
只是想澄清Query至少需要具有相等条件的Hash密钥。您需要执行Scan来过滤哈希键值。
对于Query,您还可以指定FilterExpression以对非键属性设置条件,但请注意,这将应用于查询条件的结果(即,在项目数量方面没有性能优势在DynamoDB中处理,但可以减少通过网络发送的内容,并为您提供方便,无需在客户端执行此操作。)