Class: AWS::DynamoDB::Item
- Inherits:
-
Core::Resource
- Object
- Core::Resource
- AWS::DynamoDB::Item
- Includes:
- Expectations
- Defined in:
- lib/aws/dynamo_db/item.rb
Overview
Represents a DynamoDB item. An item is identified by simple or complex primary key (according to the table schema) and consists of a collection of attributes. Attributes are name/value pairs where the value may be a string, number, string set, or number set.
Getting an item by hash key value:
item = table.items['hash-key-value']
Getting an item from a table with both hash and range keys:
item = table.items['hash-key','range-key']
Instance Attribute Summary collapse
-
#hash_value ⇒ String, Numeric
readonly
The hash key value of the item.
-
#range_value ⇒ String, ...
readonly
The range key value of the item, or
nil
if the table has a simple primary key. -
#table ⇒ Table
readonly
The table in which the item is stored.
Instance Method Summary collapse
-
#attributes ⇒ AttributeCollection
An object representing the attributes of the item.
-
#delete(options = {}) ⇒ Object
Deletes the item.
-
#exists?(options = {}) ⇒ Boolean
True if the item exists.
Instance Attribute Details
#hash_value ⇒ String, Numeric (readonly)
Returns The hash key value of the item.
41 42 43 |
# File 'lib/aws/dynamo_db/item.rb', line 41 def hash_value @hash_value end |
#range_value ⇒ String, ... (readonly)
Returns The range key value of the item, or nil
if the table has a simple primary key.
45 46 47 |
# File 'lib/aws/dynamo_db/item.rb', line 45 def range_value @range_value end |
#table ⇒ Table (readonly)
Returns The table in which the item is stored.
38 39 40 |
# File 'lib/aws/dynamo_db/item.rb', line 38 def table @table end |
Instance Method Details
#attributes ⇒ AttributeCollection
Returns An object representing the attributes of the item.
99 100 101 |
# File 'lib/aws/dynamo_db/item.rb', line 99 def attributes AttributeCollection.new(self) end |
#delete(options = {}) ⇒ Object
Deletes the item.
74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/aws/dynamo_db/item.rb', line 74 def delete( = {}) client_opts = (self) expected = expect_conditions() client_opts[:expected] = expected unless expected.empty? client_opts[:return_values] = [:return].to_s.upcase if [:return] resp = client.delete_item(client_opts) values_from_response_hash(resp.data["Attributes"]) if [:return] and resp.data["Attributes"] end |
#exists?(options = {}) ⇒ Boolean
Returns True if the item exists.
90 91 92 93 94 95 |
# File 'lib/aws/dynamo_db/item.rb', line 90 def exists?( = {}) client_opts = (self, ) client_opts[:attributes_to_get] = [table.hash_key.name] resp = client.get_item(client_opts) resp.data.key?("Item") end |