object DynamoDB
Contains functions that perform operations on a DynamoDB table. Functions return a DynamoDBAction that can be run by providing an instance of an AmazonDynamoDBClient (see DynamoDBClient for convenient constructor functions).
This class is generally not intended to be used directly, but used through the Table algebra with column definitions.
Tables are represented as key-value mappings, so you need classes to represent the key and the value. In addition, you need to create instances of: * TODO describe new Column based definition * Table - specify the key, value, hash key and range key types, and a TableDefinition (which includes a name, the key types, and a couple of other DynamoDB parameters). * Columns - Columns map your Scala types into columns in DynamoDB i.e. start with a Column with a name for each column in DynamoDB, and then create composite columns using Column.composeX to be able to map your high-level Scala classes. * Encoders/Decoders - Under the covers, we use Encoders/Decoders to convert 'primitive' or low-level Scala types into suitable values for DynamoDB (ints, strings, dates). In most cases you don't need to be concerned with Encoders/Decoders (they will be picked up automatically in your Column definition). However, you you can extend the standard set if you need to.
- Alphabetic
- By Inheritance
- DynamoDB
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- sealed trait ReadConsistency extends AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
batchDelete[K, V](keys: List[K])(table: String, kc: Column[K], vc: Column[V]): DynamoDBAction[Map[K, V]]
Perform a batch delete operation using the given key -> value pairs.
Perform a batch delete operation using the given key -> value pairs. DynamoDB has the following restrictions:
- we can only batch put 25 items at a time
-
def
batchPut[K, V](keyValues: Map[K, V])(table: String, kc: Column[K], vc: Column[V]): DynamoDBAction[Map[K, V]]
Perform a batch put operation using the given key -> value pairs.
Perform a batch put operation using the given key -> value pairs. DynamoDB has the following restrictions:
- item size must be < 64kb
- we can only batch put 25 items at a time
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def delete[K, V](key: K)(table: String, col: Column[K]): DynamoDBAction[DeleteItemResult]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def get[K, V](key: K, consistency: ReadConsistency = ReadConsistency.Eventual)(table: String, kc: Column[K], vc: Column[V]): DynamoDBAction[Option[V]]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- def interpreter(kv: Table)(t: TableDefinition[K, V, Table.H, Table.R])(implicit EH: Encoder[Table.H], DH: Decoder[Table.H], ER: Encoder[Table.R], DR: Decoder[Table.R]): ~>[DBOp, DynamoDBAction]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
query[KR, V](q: QueryImpl)(ck: Column[KR], cv: Column[V]): DynamoDBAction[dynamodb.Page[KR, V]]
takes a Range Key
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def tableExists(tableName: String): DynamoDBAction[Boolean]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def update[K, V](key: K, old: V, newValue: V)(table: String, kc: Column[K], vc: Column[V]): DynamoDBAction[Result[V, Replace.type]]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
write[K, V](k: K, v: V, m: Mode, old: Option[V] = None)(table: String, kc: Column[K], vc: Column[V]): DynamoDBAction[Result[V, Mode]]
Write a value using the supplied update mode semantics.
Write a value using the supplied update mode semantics.
Note that replace mode only works correctly if you supply an old value to replace.
- object ReadConsistency