使用 Ruby 查询 AWS DynamoDB

Querying AWS DynamoDB using Ruby

我继承了一个 DynamoDB table 三列,其中一列是键

 Id - String - hashKey
 ProductID - String
 UsageCount - number

我想 运行 一个 query/scan 在逻辑上等同于以下

 select ProductID, UsageCount where ProductID='abcd'

虽然 ProductID 不是任何类型的键,但我可以使用 AmazonDynamoDB 控制台并添加过滤器

得到我想要的。所以我假设我应该能够用代码做同样的事情(尽管每个人都在谈论为此目的使用哈希和范围键)

我正在尝试用 RUBY 做同样的事情,但没有得到结果...

 resp = $dynamodb.scan(
       :table_name => PRODUCTTABLE,
       :projection_expression => "Id, TenantId, SeatCount",
          :filter_expression => 'TenantId = abcd'
                       )

有人可以帮我用正确的语法来做这件事吗?我尝试了很多变体,除了上面的语法不抛出异常但 returns 零行之外,它们都抛出异常。所以我认为它一定很接近 :)(或者可能不是)

你必须同时使用两者 filter_expression 但要做到 'TenantId = :val'

然后用 expression_attribute_namesexpression_attribute_values

传递 :val

即使它在 Java 中,this doc 也会帮助您解决问题