使用 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_names
和 expression_attribute_values
传递 :val
即使它在 Java 中,this doc 也会帮助您解决问题
我继承了一个 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_names
和 expression_attribute_values
:val
即使它在 Java 中,this doc 也会帮助您解决问题