Client

meteor.Client
See theClient companion object
trait Client[F[_]]

Low level client that can perform AWS DynamoDB table and item actions. It provides methods that resemble DynamoDB's API, consider using high level API tables from meteor.api.hi package instead. This is still useful to: create, delete and scan table.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def batchDelete[P : Encoder](table: PartitionKeyTable[P], maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): (F, P) => Unit

Batch delete items from a table by a Stream of partition key P.

Batch delete items from a table by a Stream of partition key P.

Deduplication logic within a batch is:

within a batch, only send deletion request for one P key and discard all duplicates.

Attributes

def batchDelete[P : Encoder, S : Encoder](table: CompositeKeysTable[P, S], maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): (F, (P, S)) => Unit

Batch delete items from a table by a Stream of partition key P and sort key S.

Batch delete items from a table by a Stream of partition key P and sort key S.

Deduplication logic within a batch is:

within a batch, only send deletion request for one (P, S) key pair and discard all duplicates.

Attributes

def batchGet(requests: Map[String, BatchGet], parallelism: Int, backoffStrategy: BackoffStrategy): F[Map[String, Iterable[AttributeValue]]]

Batch get items from multiple tables.

Batch get items from multiple tables.

Parallelism should match maximum connections of the underline http client, default is 50: https://github.com/aws/aws-sdk-java-v2/blob/35267ca707c3fb5cdf7e3e98758a8ef969269183/http-client-spi/src/main/java/software/amazon/awssdk/http/SdkHttpConfigurationOption.java#L121

Attributes

def batchGet[P : Encoder, U : Decoder](table: PartitionKeyTable[P], consistentRead: Boolean, projection: Expression, keys: Iterable[P], parallelism: Int, backoffStrategy: BackoffStrategy): F[Iterable[U]]

Batch get items from a table by partition key P. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table by partition key P. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchGet[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], consistentRead: Boolean, projection: Expression, keys: Iterable[(P, S)], parallelism: Int, backoffStrategy: BackoffStrategy): F[Iterable[U]]

Batch get items from a table primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchGet[P : Encoder, U : Decoder](table: PartitionKeyTable[P], consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): (F, P) => U

Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchGet[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): (F, (P, S)) => U

Batch get items from a table by primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table by primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchGet[P : Encoder, U : Decoder](table: PartitionKeyTable[P], consistentRead: Boolean, keys: Iterable[P], parallelism: Int, backoffStrategy: BackoffStrategy): F[Iterable[U]]

Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchGet[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], consistentRead: Boolean, keys: Iterable[(P, S)], parallelism: Int, backoffStrategy: BackoffStrategy): F[Iterable[U]]

Batch get items from a table by primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Batch get items from a table by primary keys P and S. A Codec of U is required to deserialize return value based on projection expression.

Attributes

def batchPut[T : Encoder](table: Index[_], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy): (F, T) => Unit

Batch put items into a table by a Stream of T.

Batch put items into a table by a Stream of T.

Deduplication logic within a batch is:

within a batch, only send the the last item and discard all previous duplicated items with the same key. Order from upstream is preserved to ensure that only putting the last version of T within a batch.

Attributes

def batchPut[T : Encoder](table: Index[_], items: Iterable[T], backoffStrategy: BackoffStrategy): F[Unit]

Batch put items into a table by a Seq of T.

Batch put items into a table by a Seq of T.

Deduplication logic within a batch is:

within a batch, only send the the last item and discard all previous duplicated items with the same key. Order from upstream is preserved to ensure that only putting the last version of T within a batch.

Attributes

def batchPutUnordered[T : Encoder](table: Index[_], items: Set[T], parallelism: Int, backoffStrategy: BackoffStrategy): F[Unit]

Batch put unique items into a table.

Batch put unique items into a table.

Attributes

def batchWrite[DP : Encoder, P : Encoder](table: PartitionKeyTable[DP], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy): (F, Either[DP, P]) => Unit

Batch write to a table by a Stream of either DP (delete) or P (put).

Batch write to a table by a Stream of either DP (delete) or P (put).

DP: partition key's type P: item being put's type

Deduplication logic within a batch is:

Group all DP and P items by key, preserve ordering from upstream. If the last item for that key is a delete, then only perform deletion, discard all other actions on that key. If the last item for that key is a put, then only perform put, discard all other actions on that key.

Attributes

def batchWrite[DP : Encoder, DS : Encoder, P : Encoder](table: CompositeKeysTable[DP, DS], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy): (F, Either[(DP, DS), P]) => Unit

Batch write to a table by a Stream of either (DP, DS) (delete) or P (put).

Batch write to a table by a Stream of either (DP, DS) (delete) or P (put).

DP: partition key's type DS: sort key's type P: item being put's type

Deduplication logic within a batch is:

Group all (DP, DS) and P items by key, preserve ordering from upstream. If the last item for that key is a delete, then only perform deletion, discard all other actions on that key. If the last item for that key is a put, then only perform put, discard all other actions on that key.

Attributes

def createCompositeKeysTable[P, S](tableName: String, partitionKeyDef: KeyDef[P], sortKeyDef: KeyDef[S], billingMode: BillingMode, attributeDefinition: Map[String, DynamoDbType], globalSecondaryIndexes: Set[GlobalSecondaryIndex], localSecondaryIndexes: Set[LocalSecondaryIndex]): F[Unit]

Create a table

Create a table

Attributes

def createPartitionKeyTable[P](tableName: String, partitionKeyDef: KeyDef[P], billingMode: BillingMode, attributeDefinition: Map[String, DynamoDbType], globalSecondaryIndexes: Set[GlobalSecondaryIndex], localSecondaryIndexes: Set[LocalSecondaryIndex]): F[Unit]
def delete[P : Encoder, S : Encoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S): F[Unit]

Delete an item from a table by partition key P and sort key S.

Delete an item from a table by partition key P and sort key S.

Attributes

def delete[P : Encoder](table: PartitionKeyTable[P], partitionKey: P): F[Unit]

Delete an item from a table by partition key P.

Delete an item from a table by partition key P.

Attributes

def deleteTable(tableName: String): F[Unit]

Delete a table

Delete a table

Attributes

def describe(tableName: String): F[TableDescription]

Describe a table

Describe a table

Attributes

def get[P : Encoder, U : Decoder](table: PartitionKeyTable[P], partitionKey: P, consistentRead: Boolean): F[Option[U]]

Get a single item of type U from a table by partition key P.

Get a single item of type U from a table by partition key P.

Attributes

def get[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, consistentRead: Boolean): F[Option[U]]

Get a single value from a table by partition key P and sort key S.

Get a single value from a table by partition key P and sort key S.

Attributes

def put[T : Encoder](tableName: String, t: T): F[Unit]

Put an item into a table, return Unit (ReturnValue.NONE).

Put an item into a table, return Unit (ReturnValue.NONE).

Attributes

def put[T : Encoder, U : Decoder](tableName: String, t: T): F[Option[U]]

Put an item into a table, return ReturnValue.ALL_OLD.

Put an item into a table, return ReturnValue.ALL_OLD.

Attributes

def put[T : Encoder](tableName: String, t: T, condition: Expression): F[Unit]

Put an item into a table with a condition expression, return Unit (ReturnValue.NONE).

Put an item into a table with a condition expression, return Unit (ReturnValue.NONE).

Attributes

def put[T : Encoder, U : Decoder](tableName: String, t: T, condition: Expression): F[Option[U]]

Put an item into a table with a condition expression, return ReturnValue.ALL_OLD.

Put an item into a table with a condition expression, return ReturnValue.ALL_OLD.

Attributes

def retrieve[P : Encoder, U : Decoder](index: PartitionKeyIndex[P], query: Query[P, Nothing], consistentRead: Boolean): F[Option[U]]

Retrieve values from a table using a query.

Retrieve values from a table using a query.

Attributes

def retrieve[P : Encoder, S : Encoder, U : Decoder](index: CompositeKeysIndex[P, S], query: Query[P, S], consistentRead: Boolean): Stream[F, U]

Retrieve values from a table using a query.

Retrieve values from a table using a query.

Attributes

def retrieve[P : Encoder, U : Decoder](index: CompositeKeysIndex[P, _], partitionKey: P, consistentRead: Boolean): Stream[F, U]

Retrieve values from a table by partition key P.

Retrieve values from a table by partition key P.

Attributes

def scan[U : Decoder](tableName: String, filter: Expression, consistentRead: Boolean, parallelism: Int): Stream[F, U]

Scan the whole table with a filter expression.

Scan the whole table with a filter expression.

Attributes

def scan[U : Decoder](tableName: String, consistentRead: Boolean, parallelism: Int): Stream[F, U]

Scan the whole table.

Scan the whole table.

Attributes

def update[P : Encoder, U : Decoder](table: PartitionKeyTable[P], partitionKey: P, update: Expression, returnValue: ReturnValue): F[Option[U]]

Update an item by partition key P given an update expression. A Codec of U is required to deserialize return value.

Update an item by partition key P given an update expression. A Codec of U is required to deserialize return value.

Attributes

def update[P : Encoder, U : Decoder](table: PartitionKeyTable[P], partitionKey: P, update: Expression, condition: Expression, returnValue: ReturnValue): F[Option[U]]

Update an item by partition key P given an update expression when it fulfills a condition expression. A Codec of U is required to deserialize return value.

Update an item by partition key P given an update expression when it fulfills a condition expression. A Codec of U is required to deserialize return value.

Attributes

def update[P : Encoder](table: PartitionKeyTable[P], partitionKey: P, update: Expression): F[Unit]

Update an item by partition key P given an update expression. Return Unit (ReturnValue.NONE).

Update an item by partition key P given an update expression. Return Unit (ReturnValue.NONE).

Attributes

def update[P : Encoder](table: PartitionKeyTable[P], partitionKey: P, update: Expression, condition: Expression): F[Unit]

Update an item by partition key P given an update expression when it fulfills a condition expression. Return Unit (ReturnValue.NONE).

Update an item by partition key P given an update expression when it fulfills a condition expression. Return Unit (ReturnValue.NONE).

Attributes

def update[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, returnValue: ReturnValue): F[Option[U]]

Update an item by partition key P and a sort key S, given an update expression. A Codec of U is required to deserialize return value.

Update an item by partition key P and a sort key S, given an update expression. A Codec of U is required to deserialize return value.

Attributes

def update[P : Encoder, S : Encoder, U : Decoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, condition: Expression, returnValue: ReturnValue): F[Option[U]]

Update an item by partition key P and a sort key S, given an update expression when it fulfills a condition expression. A Codec of U is required to deserialize return value.

Update an item by partition key P and a sort key S, given an update expression when it fulfills a condition expression. A Codec of U is required to deserialize return value.

Attributes

def update[P : Encoder, S : Encoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression): F[Unit]

Update an item by partition key P and a sort key S, given an update expression. Return Unit (ReturnValue.NONE).

Update an item by partition key P and a sort key S, given an update expression. Return Unit (ReturnValue.NONE).

Attributes

def update[P : Encoder, S : Encoder](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, condition: Expression): F[Unit]

Update an item by partition key P and a sort key S, given an update expression when it fulfills a condition expression. Return Unit (ReturnValue.NONE).

Update an item by partition key P and a sort key S, given an update expression when it fulfills a condition expression. Return Unit (ReturnValue.NONE).

Attributes