sealed abstract class SecondaryIndex[V] extends AnyRef
- Alphabetic
- By Inheritance
- SecondaryIndex
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def descending: SecondaryIndex[V]
-
abstract
def
filter[C](condition: C)(implicit arg0: ConditionExpression[C]): SecondaryIndex[V]
Filter the results of
scanorquerywithin DynamoDBFilter the results of
scanorquerywithin DynamoDBNote that rows filtered out still count towards your consumed capacity
-
abstract
def
from(exclusiveStartKey: DynamoObject): SecondaryIndex[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 secondary index as well as the partition key of the table itself
- returns
A new SecondaryIndex which when queried will return items after the provided exclusive start key
import org.scanamo._ import org.scanamo.syntax._ val table: Table[_] = ??? val secondaryIndex: SecondaryIndex[_] = table.index("myIndex") val exclusiveStartKey = DynamoObject( Map( "myIndexPartitionKeyName" -> myIndexPartitionKeyValue.asDynamoValue, "myIndexSortKeyName" -> myIndexSortKeyValue.asDynamoValue, "myTablePartitionKeyName" -> myTablePartitionKeyValue.asDynamoValue ) ) val indexStartingFromExclusiveStartKey: SecondaryIndex[_] = secondaryIndex.from(exclusiveStartKey)
Example: - abstract def from[K](key: UniqueKey[K])(implicit arg0: UniqueKeyCondition[K]): SecondaryIndex[V]
-
abstract
def
limit(n: Int): SecondaryIndex[V]
Query or scan an index, limiting the number of items evaluated by Dynamo
-
abstract
def
query(query: Query[_]): ScanamoOps[List[Either[DynamoReadError, V]]]
Run a query against keys in a secondary index
-
abstract
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.
-
abstract
def
queryRaw(query: Query[_]): ScanamoOps[QueryResponse]
Queries the index and returns the raw DynamoDB result.
-
abstract
def
scan(): ScanamoOps[List[Either[DynamoReadError, V]]]
Scan a secondary index
-
abstract
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.
-
abstract
def
scanRaw: ScanamoOps[ScanResponse]
Scans the index and returns the raw DynamoDB result.
Concrete 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()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
-
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
-
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
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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( ... )