【问题标题】:Dynamodb table query on non hash key非散列键上的 Dynamodb 表查询
【发布时间】:2015-05-20 06:03:39
【问题描述】:

我在 c# 中使用 dynamodb。

我能够扫描所有记录。但要求是对非关键列进行查询,但我无法得到它,

我找到了这个链接Querying DynamoDB on non-key attributes,但是找不到

如果我能得到任何链接或任何样本会更好

【问题讨论】:

标签: c# amazon-dynamodb nosql


【解决方案1】:

我最终得到了这个解决方案

 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 } } });

【讨论】:

  • 这不是 DynamoDB 术语中的 Query
【解决方案2】:

只是想澄清Query 至少需要具有相等条件的哈希键。您需要使用Scan 来过滤散列键值。

对于 Query,您还可以指定 FilterExpression 以对非关键属性设置条件,但请注意,这适用于 Query 条件的结果(即,在被查询的项目数量方面没有性能优势)在 DynamoDB 中处理,但可以减少通过网络发送的内容,并为您提供不必在客户端执行此操作的便利)。

【讨论】:

    猜你喜欢
    • 2014-05-06
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 1970-01-01
    • 2018-05-14
    相关资源
    最近更新 更多