trait Client[F[_]] extends AnyRef
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.
- Alphabetic
- By Inheritance
- Client
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def batchDelete[P, S](table: CompositeKeysTable[P, S], maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Encoder[S]): Pipe[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.
- Annotations
- @nowarn()
- abstract def batchDelete[P](table: PartitionKeyTable[P], maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P]): Pipe[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.
- Annotations
- @nowarn()
- abstract def batchGet[P, S, U](table: CompositeKeysTable[P, S], consistentRead: Boolean, keys: Iterable[(P, S)], parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): F[Iterable[U]]
Batch get items from a table by primary keys P and S.
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.
- Annotations
- @nowarn()
- abstract def batchGet[P, U](table: PartitionKeyTable[P], consistentRead: Boolean, keys: Iterable[P], parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Decoder[U]): F[Iterable[U]]
Batch get items from a table by partition keys P.
Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.
- Annotations
- @nowarn()
- abstract def batchGet[P, S, U](table: CompositeKeysTable[P, S], consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): Pipe[F, (P, S), U]
Batch get items from a table by primary keys P and S.
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.
- Annotations
- @nowarn()
- abstract def batchGet[P, U](table: PartitionKeyTable[P], consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Decoder[U]): Pipe[F, P, U]
Batch get items from a table by partition keys P.
Batch get items from a table by partition keys P. A Codec of U is required to deserialize return value based on projection expression.
- Annotations
- @nowarn()
- abstract def batchGet[P, S, U](table: CompositeKeysTable[P, S], consistentRead: Boolean, projection: Expression, keys: Iterable[(P, S)], parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): F[Iterable[U]]
Batch get items from a table primary keys P and S.
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.
- Annotations
- @nowarn()
- abstract def batchGet[P, U](table: PartitionKeyTable[P], consistentRead: Boolean, projection: Expression, keys: Iterable[P], parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[P], arg1: Decoder[U]): F[Iterable[U]]
Batch get items from a table by partition key P.
Batch get items from a table by partition key P. A Codec of U is required to deserialize return value based on projection expression.
- Annotations
- @nowarn()
- abstract 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
- abstract def batchPut[T](table: Index[_], items: Iterable[T], backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): 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.
- Annotations
- @nowarn()
- abstract def batchPut[T](table: Index[_], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[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.
- Annotations
- @nowarn()
- abstract def batchPutUnordered[T](table: Index[_], items: Set[T], parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): F[Unit]
Batch put unique items into a table.
Batch put unique items into a table.
- Annotations
- @nowarn()
- abstract def batchWrite[DP, DS, P](table: CompositeKeysTable[DP, DS], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[DP], arg1: Encoder[DS], arg2: Encoder[P]): Pipe[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.
- Annotations
- @nowarn()
- abstract def batchWrite[DP, P](table: PartitionKeyTable[DP], maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[DP], arg1: Encoder[P]): Pipe[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.
- Annotations
- @nowarn()
- abstract def createCompositeKeysTable[P, S](tableName: String, partitionKeyDef: KeyDef[P], sortKeyDef: KeyDef[S], billingMode: BillingMode, attributeDefinition: Map[String, DynamoDbType] = Map.empty, globalSecondaryIndexes: Set[GlobalSecondaryIndex] = Set.empty, localSecondaryIndexes: Set[LocalSecondaryIndex] = Set.empty): F[Unit]
Create a table
- abstract def createPartitionKeyTable[P](tableName: String, partitionKeyDef: KeyDef[P], billingMode: BillingMode, attributeDefinition: Map[String, DynamoDbType] = Map.empty, globalSecondaryIndexes: Set[GlobalSecondaryIndex] = Set.empty, localSecondaryIndexes: Set[LocalSecondaryIndex] = Set.empty): F[Unit]
- abstract def delete[P](table: PartitionKeyTable[P], partitionKey: P)(implicit arg0: Encoder[P]): F[Unit]
Delete an item from a table by partition key P.
Delete an item from a table by partition key P.
- Annotations
- @nowarn()
- abstract def delete[P, S](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S)(implicit arg0: Encoder[P], arg1: Encoder[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.
- Annotations
- @nowarn()
- abstract def deleteTable(tableName: String): F[Unit]
Delete a table
- abstract def describe(tableName: String): F[TableDescription]
Describe a table
- abstract def get[P, S, U](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, consistentRead: Boolean)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): 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.
- Annotations
- @nowarn()
- abstract def get[P, U](table: PartitionKeyTable[P], partitionKey: P, consistentRead: Boolean)(implicit arg0: Encoder[P], arg1: Decoder[U]): 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.
- Annotations
- @nowarn()
- abstract def put[T, U](tableName: String, t: T, condition: Expression)(implicit arg0: Encoder[T], arg1: Decoder[U]): F[Option[U]]
Put an item into a table with a condition expression, return ReturnValue.ALL_OLD.
- abstract def put[T](tableName: String, t: T, condition: Expression)(implicit arg0: Encoder[T]): F[Unit]
Put an item into a table with a condition expression, return Unit (ReturnValue.NONE).
- abstract def put[T, U](tableName: String, t: T)(implicit arg0: Encoder[T], arg1: Decoder[U]): F[Option[U]]
Put an item into a table, return ReturnValue.ALL_OLD.
- abstract def put[T](tableName: String, t: T)(implicit arg0: Encoder[T]): F[Unit]
Put an item into a table, return Unit (ReturnValue.NONE).
- abstract def retrieve[P, U](index: CompositeKeysIndex[P, _], partitionKey: P, consistentRead: Boolean)(implicit arg0: Encoder[P], arg1: Decoder[U]): Stream[F, U]
Retrieve values from a table by partition key P.
Retrieve values from a table by partition key P.
- Annotations
- @nowarn()
- abstract def retrieve[P, S, U](index: CompositeKeysIndex[P, S], query: Query[P, S], consistentRead: Boolean)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): Stream[F, U]
Retrieve values from a table using a query.
Retrieve values from a table using a query.
- Annotations
- @nowarn()
- abstract def retrieve[P, U](index: PartitionKeyIndex[P], query: Query[P, Nothing], consistentRead: Boolean)(implicit arg0: Encoder[P], arg1: Decoder[U]): F[Option[U]]
Retrieve values from a table using a query.
Retrieve values from a table using a query.
- Annotations
- @nowarn()
- abstract def scan[U](tableName: String, consistentRead: Boolean, parallelism: Int)(implicit arg0: Decoder[U]): Stream[F, U]
Scan the whole table.
- abstract def scan[U](tableName: String, filter: Expression, consistentRead: Boolean, parallelism: Int)(implicit arg0: Decoder[U]): Stream[F, U]
Scan the whole table with a filter expression.
- abstract def update[P, S](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, condition: Expression)(implicit arg0: Encoder[P], arg1: Encoder[S]): F[Unit]
Update an item by partition key P and a sort key S, given an update expression when it fulfills a condition expression.
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).
- Annotations
- @nowarn()
- abstract def update[P, S](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression)(implicit arg0: Encoder[P], arg1: Encoder[S]): F[Unit]
Update an item by partition key P and a sort key S, given an update expression.
Update an item by partition key P and a sort key S, given an update expression. Return Unit (ReturnValue.NONE).
- Annotations
- @nowarn()
- abstract def update[P, S, U](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, condition: Expression, returnValue: ReturnValue)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): 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.
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.
- Annotations
- @nowarn()
- abstract def update[P, S, U](table: CompositeKeysTable[P, S], partitionKey: P, sortKey: S, update: Expression, returnValue: ReturnValue)(implicit arg0: Encoder[P], arg1: Encoder[S], arg2: Decoder[U]): F[Option[U]]
Update an item by partition key P and a sort key S, given an update expression.
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.
- Annotations
- @nowarn()
- abstract def update[P](table: PartitionKeyTable[P], partitionKey: P, update: Expression, condition: Expression)(implicit arg0: Encoder[P]): F[Unit]
Update an item by partition key P given an update expression when it fulfills a condition expression.
Update an item by partition key P given an update expression when it fulfills a condition expression. Return Unit (ReturnValue.NONE).
- Annotations
- @nowarn()
- abstract def update[P](table: PartitionKeyTable[P], partitionKey: P, update: Expression)(implicit arg0: Encoder[P]): F[Unit]
Update an item by partition key P given an update expression.
Update an item by partition key P given an update expression. Return Unit (ReturnValue.NONE).
- Annotations
- @nowarn()
- abstract def update[P, U](table: PartitionKeyTable[P], partitionKey: P, update: Expression, condition: Expression, returnValue: ReturnValue)(implicit arg0: Encoder[P], arg1: Decoder[U]): F[Option[U]]
Update an item by partition key P given an update expression when it fulfills a condition expression.
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.
- Annotations
- @nowarn()
- abstract def update[P, U](table: PartitionKeyTable[P], partitionKey: P, update: Expression, returnValue: ReturnValue)(implicit arg0: Encoder[P], arg1: Decoder[U]): F[Option[U]]
Update an item by partition key P given an update expression.
Update an item by partition key P given an update expression. A Codec of U is required to deserialize return value.
- Annotations
- @nowarn()
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(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)