Method: Stax::Cmd::DynamoDB#query

Defined in:
lib/stax/mixin/dynamodb.rb

#query(id, hash_value, range_value = nil) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/stax/mixin/dynamodb.rb', line 86

def query(id, hash_value, range_value = nil)
  name = my.resource(id)
  k = Aws::DynamoDB.keys(name)
  Aws::DynamoDB.query(
    table_name: name,
    expression_attribute_values: {
      ':h' => hash_value,
      ':r' => range_value,
    }.compact,
    key_condition_expression: [
      "#{k[:hash]} = :h",
      range_value ? "#{k[:range]} = :r" : nil,
    ].compact.join(' and '),
  )
end