2014-12-30 17:25:09 -05:00
|
|
|
module Fog
|
|
|
|
module AWS
|
|
|
|
class DynamoDB
|
|
|
|
class Real
|
|
|
|
# Get DynamoDB items
|
|
|
|
#
|
|
|
|
# ==== Parameters
|
|
|
|
# * 'request_items'<~Hash>:
|
|
|
|
# * 'table_name'<~Hash>:
|
|
|
|
# * 'Keys'<~Array>: array of keys
|
|
|
|
#
|
|
|
|
# ==== Returns
|
|
|
|
# * response<~Excon::Response>:
|
|
|
|
# * body<~Hash>:
|
|
|
|
# * 'Responses'<~Hash>:
|
2015-12-19 10:08:53 -05:00
|
|
|
# * 'table_name'<~Array> - array of all elements
|
2014-12-30 17:25:09 -05:00
|
|
|
# * 'UnprocessedKeys':<~Hash> - tables and keys in excess of per request limit, pass this to subsequent batch get for pseudo-pagination
|
2015-12-19 10:08:53 -05:00
|
|
|
# * 'ConsumedCapacity':<~Hash>:
|
|
|
|
# * 'TableName'<~String> - the name of the table
|
|
|
|
# * 'CapacityUnits'<~Float> - Capacity units used in read
|
|
|
|
#
|
|
|
|
# See DynamoDB Documentation: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html
|
|
|
|
#
|
2014-12-30 17:25:09 -05:00
|
|
|
def batch_get_item(request_items)
|
|
|
|
body = {
|
|
|
|
'RequestItems' => request_items
|
|
|
|
}
|
|
|
|
|
|
|
|
request(
|
|
|
|
:body => Fog::JSON.encode(body),
|
2015-12-19 10:08:53 -05:00
|
|
|
:headers => {'x-amz-target' => 'DynamoDB_20120810.BatchGetItem'},
|
2014-12-30 17:25:09 -05:00
|
|
|
:idempotent => true
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|