case class Table[V](name: String)(implicit evidence$1: DynamoFormat[V]) extends Product with Serializable
Represents a DynamoDB table that operations can be performed against
- Alphabetic
- By Inheritance
- Table
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Table(name: String)(implicit arg0: DynamoFormat[V])
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
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
consistently: ConsistentlyReadTable[V]
Perform strongly consistent (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) read operations against this table.
Perform strongly consistent (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) read operations against this table. Note that there is no equivalent on table indexes as consistent reads from secondary indexes are not supported by DynamoDB
- def delete(key: UniqueKey[_]): ScanamoOps[Unit]
-
def
deleteAll(items: UniqueKeys[_]): ScanamoOps[Unit]
Deletes multiple items by a unique key
- def deleteAndReturn(ret: DeleteReturn)(key: UniqueKey[_]): ScanamoOps[Option[Either[DynamoReadError, V]]]
- def descending: TableWithOptions[V]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
filter[C](condition: C)(implicit arg0: ConditionExpression[C]): TableWithOptions[V]
Filter the results of a Scan or Query
-
def
from(exclusiveStartKey: DynamoObject): TableWithOptions[V]
Primes a search request with a key to start from:
Primes a search request with a key to start from:
- exclusiveStartKey
A DynamoObject containing attributes that match the partition key and sort key of the table
- returns
A new Table which when queried will return items after the provided exclusive start key
import org.scanamo._ import org.scanamo.syntax._ val table: Table[_] = ??? val exclusiveStartKey = DynamoObject( Map( "myPartitionKeyName" -> myPartitionKeyValue.asDynamoValue, "mySortKeyName" -> mySortKeyValue.asDynamoValue ) ) val tableStartingFromExclusiveStartKey: Table[_] = table.from(exclusiveStartKey)
Example: -
def
from[K](key: UniqueKey[K])(implicit arg0: UniqueKeyCondition[K]): TableWithOptions[V]
Primes a search request with a key to start from:
- def get(key: UniqueKey[_]): ScanamoOps[Option[Either[DynamoReadError, V]]]
- def getAll(keys: UniqueKeys[_]): ScanamoOps[Set[Either[DynamoReadError, V]]]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
index(indexName: String): SecondaryIndex[V]
A secondary index on the table which can be scanned, or queried against
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
limit(n: Int): TableWithOptions[V]
Query or scan a table, limiting the number of items evaluated by Dynamo
- val name: String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def put(v: V): ScanamoOps[Unit]
- def putAll(vs: Set[V]): ScanamoOps[Unit]
- def putAndReturn(ret: PutReturn)(v: V): ScanamoOps[Option[Either[DynamoReadError, V]]]
-
def
query(query: Query[_]): ScanamoOps[List[Either[DynamoReadError, V]]]
Query a table based on the hash key and optionally the range key
-
final
def
queryM[M[_]](query: Query[_])(implicit arg0: Monad[M], arg1: MonoidK[M]): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]
Performs a query with the ability to introduce effects into the computation.
Performs a query with the ability to introduce effects into the computation. This is useful for huge tables when you don't want to load the whole of it in memory, but scan it page by page.
To control how many maximum items to load at once, use queryPaginatedM
-
def
queryPaginatedM[M[_]](query: Query[_], pageSize: Int)(implicit arg0: Monad[M], arg1: MonoidK[M]): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]
Performs a scan with the ability to introduce effects into the computation.
Performs a scan with the ability to introduce effects into the computation. This is useful for huge tables when you don't want to load the whole of it in memory, but scan it page by page, with a maximum of
pageSizeitems per page.- Note
DynamoDB will only ever return maximum 1MB of data per query, so
pageSizeis an upper bound.
-
def
queryRaw(query: Query[_]): ScanamoOps[QueryResponse]
Queries the table and returns the raw DynamoDB result.
Queries the table and returns the raw DynamoDB result. Sometimes, one might want to access metadata returned in the
QueryResponseobject, such as the last evaluated key for example.Table#queryonly returns a list of results, so there is no place for putting that information: this is wherequery0comes in handy! -
def
scan(): ScanamoOps[List[Either[DynamoReadError, V]]]
Scans all elements of a table
-
final
def
scanM[M[_]](implicit arg0: Monad[M], arg1: MonoidK[M]): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]
Performs a scan with the ability to introduce effects into the computation.
Performs a scan with the ability to introduce effects into the computation. This is useful for huge tables when you don't want to load the whole of it in memory, but scan it page by page.
To control how many maximum items to load at once, use scanPaginatedM
-
def
scanPaginatedM[M[_]](pageSize: Int)(implicit arg0: Monad[M], arg1: MonoidK[M]): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]
Performs a scan with the ability to introduce effects into the computation.
Performs a scan with the ability to introduce effects into the computation. This is useful for huge tables when you don't want to load the whole of it in memory, but scan it page by page, with a maximum of
pageSizeitems per page..- Note
DynamoDB will only ever return maximum 1MB of data per scan, so
pageSizeis an upper bound.
-
def
scanRaw: ScanamoOps[ScanResponse]
Scans the table and returns the raw DynamoDB result.
Scans the table and returns the raw DynamoDB result. Sometimes, one might want to access metadata returned in the
ScanResponseobject, such as the last evaluated key for example.Table#scanonly returns a list of results, so there is no place for putting that information: this is wherescan0comes in handy!A particular use case is when one wants to paginate through result sets, say:
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def transactDeleteAll(vs: List[UniqueKey[_]]): ScanamoOps[TransactWriteItemsResponse]
- def transactPutAll(vs: List[V]): ScanamoOps[TransactWriteItemsResponse]
- def transactUpdateAll(vs: List[(UniqueKey[_], UpdateExpression)]): ScanamoOps[TransactWriteItemsResponse]
-
def
update(key: UniqueKey[_], expression: UpdateExpression): ScanamoOps[Either[DynamoReadError, V]]
Updates an attribute that is not part of the key and returns the updated row
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
when[T](condition: T)(implicit arg0: ConditionExpression[T]): ConditionalOperation[V, T]
Performs the chained operation,
putif the condition is met
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
def
query0(query: Query[_]): ScanamoOps[QueryResponse]
- Annotations
- @deprecated
- Deprecated
(Since version 1.0) use
queryRaw
-
def
scan0: ScanamoOps[ScanResponse]
- Annotations
- @deprecated
- Deprecated
(Since version 1.0) use
scanRaw