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
- All
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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).
-
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).
-
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.
-
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.
-
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).
-
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).
-
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.
-
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.
-
abstract
def
retrieve[P, U](index: CompositeKeysIndex[P, _], partitionKey: P, consistentRead: Boolean, limit: Int)(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
- @deprecated
- Deprecated
(Since version 2022-04-24) Use retrieve without limit
-
abstract
def
retrieve[P, S, U](index: CompositeKeysIndex[P, S], query: Query[P, S], consistentRead: Boolean, limit: Int)(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
- @deprecated
- Deprecated
(Since version 2022-04-24) Use retrieve without limit
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
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( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated