SecondaryIndex

sealed abstract class SecondaryIndex[V]

Represents a secondary index on a DynamoDB table.

Can be constructed via the index method on Table

class Object
trait Matchable
class Any

Value members

Abstract methods

def filter[C : ConditionExpression](condition: C): SecondaryIndex[V]

Filter the results of scan or query within DynamoDB

Filter the results of scan or query within DynamoDB

Note that rows filtered out still count towards your consumed capacity

def limit(n: Int): SecondaryIndex[V]

Query or scan an index, limiting the number of items evaluated by Dynamo

Query or scan an index, limiting the number of items evaluated by Dynamo

def query(query: Query[_]): ScanamoOps[List[Either[DynamoReadError, V]]]

Run a query against keys in a secondary index

Run a query against keys in a secondary index

def queryPaginatedM[M[_] : MonoidK](query: Query[_], pageSize: Int): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]

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 pageSize items per page.

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 pageSize items per page.

Note:

DynamoDB will only ever return maximum 1MB of data per query, so pageSize is an upper bound.

def queryRaw(query: Query[_]): ScanamoOps[QueryResponse]

Queries the index and returns the raw DynamoDB result.

Queries the index and returns the raw DynamoDB result.

def scan(): ScanamoOps[List[Either[DynamoReadError, V]]]

Scan a secondary index

Scan a secondary index

def scanPaginatedM[M[_] : MonoidK](pageSize: Int): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]

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 pageSize items per page..

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 pageSize items per page..

Note:

DynamoDB will only ever return maximum 1MB of data per scan, so pageSize is an upper bound.

def scanRaw: ScanamoOps[ScanResponse]

Scans the index and returns the raw DynamoDB result.

Scans the index and returns the raw DynamoDB result.

Concrete methods

final def queryM[M[_] : MonoidK](query: Query[_]): ScanamoOpsT[M, List[Either[DynamoReadError, V]]]

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.

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[_] : MonoidK]: ScanamoOpsT[M, List[Either[DynamoReadError, V]]]

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.

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