case class SimpleTable[F[_], P](tableName: String, partitionKeyDef: KeyDef[P], jClient: DynamoDbAsyncClient)(implicit evidence$6: Async[F], evidence$7: Encoder[P]) extends SimpleIndex[F, P] with PutOps with PartitionKeyDeleteOps with PartitionKeyUpdateOps with PartitionKeyBatchGetOps with PartitionKeyBatchWriteOps with Product with Serializable
Represent a table where the index has only partition key and no sort key.
- F
effect type
- P
partition key's type
- tableName
table's name
- partitionKeyDef
partition key definition
- jClient
DynamoDB java async client
- Alphabetic
- By Inheritance
- SimpleTable
- Serializable
- Serializable
- Product
- Equals
- PartitionKeyBatchWriteOps
- SharedBatchWriteOps
- PartitionKeyBatchGetOps
- SharedBatchGetOps
- DedupOps
- PartitionKeyUpdateOps
- SharedUpdateOps
- PartitionKeyDeleteOps
- PutOps
- SimpleIndex
- PartitionKeyGetOps
- SharedGetOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
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
batchDelete(maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): Pipe[F, P, Unit]
Delete items by partition key in batch.
Delete items by partition key in batch. Max batch size is preset to 100 (maximum batch size permitted for batch get action), however, it is possible to control the rate of batching with
maxBatchWait
parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.- maxBatchWait
time window to collect items into a batch
- parallelism
number of connections that can be open at the same time
- backoffStrategy
backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.
- returns
a fs2 Pipe from composite keys P and S as a tuple to Unit
-
def
batchGet[T](consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Decoder[T]): Pipe[F, P, T]
Get items by partition key in batch.
Get items by partition key in batch. Max batch size is preset to 100 (maximum batch size permitted for batch get action), however, it is possible to control the rate of batching with
maxBatchWait
parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.- T
returned item's type
- consistentRead
flag to enable strongly consistent read
- projection
projection expression
- maxBatchWait
time window to collect items into a batch
- parallelism
number of connections that can be open at the same time
- backoffStrategy
backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.
- returns
a fs2 Pipe from partition key P to T
-
def
batchGetOp[F[_], P, T](table: PartitionKeyTable[P], consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(jClient: DynamoDbAsyncClient)(implicit arg0: Async[F], arg1: RaiseThrowable[F], arg2: Encoder[P], arg3: Decoder[T]): Pipe[F, P, T]
- Definition Classes
- PartitionKeyBatchGetOps
-
def
batchPut[T](maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, T, Unit]
Put items in batch, in ordered.
Put items in batch, in ordered. Meaning batches are processed in serial to avoid race condition when writing items with the same partition key. If your input doesn't have this constrain, you can use batchPutUnordered. Max batch size is preset to 25 (maximum batch size permitted from batch put actions), however, it is possible to control the rate of batching with
maxBatchWait
parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.- T
returned item's type
- maxBatchWait
time window to collect items into a batch
- backoffStrategy
backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.
- returns
a fs2 Pipe from T to Unit
-
def
batchPutUnordered[T](maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, T, Unit]
Put items in batch, un-ordered.
Put items in batch, un-ordered. Meaning batches are processed in parallel, hence, if your input has items with the same partition key, this can cause a race condition, consider using batchPut instead. Max batch size is preset to 25 (maximum batch size permitted from batch put actions), however, it is possible to control the rate of batching with
maxBatchWait
parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.- T
returned item's type
- maxBatchWait
time window to collect items into a batch
- parallelism
number of connections that can be open at the same time
- backoffStrategy
backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.
- returns
a fs2 Pipe from T to Unit
-
def
batchWrite[T](maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, Either[P, T], Unit]
Write items (put or delete) in batch, in ordered.
Write items (put or delete) in batch, in ordered. Meaning batches are processed in serial to avoid race condition when writing items with the same partition key. Max batch size is preset to 25 (maximum batch size permitted from batch write actions), however, it is possible to control the rate of batching with
maxBatchWait
parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.- T
returned item's type
- maxBatchWait
time window to collect items into a batch
- backoffStrategy
backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.
- returns
a fs2 Pipe from Either[P, T], represent deletion (Left) or put (Right) to Unit.
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
delete(partitionKey: P): F[Unit]
Delete an item by partition key.
Delete an item by partition key.
- partitionKey
partition key
- returns
Unit
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
get[T](partitionKey: P, consistentRead: Boolean)(implicit arg0: Decoder[T]): F[Option[T]]
Get a single item by partition key.
Get a single item by partition key.
- T
returned item's type
- partitionKey
partition key
- consistentRead
flag to enable strongly consistent read
- returns
an optional item of type T
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
val
index: PartitionKeyIndex[P]
- Definition Classes
- SimpleTable → SimpleIndex
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
jClient: DynamoDbAsyncClient
- Definition Classes
- SimpleTable → SimpleIndex
-
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()
-
val
partitionKeyDef: KeyDef[P]
- Definition Classes
- SimpleTable → SimpleIndex
-
def
put[T, U](t: T, condition: Expression)(implicit arg0: Encoder[T], arg1: Decoder[U]): F[Option[U]]
Put an item into a table and return previous value.
Put an item into a table and return previous value.
- T
item's type
- U
returned item's type
- t
item to be put
- condition
conditional expression
- returns
an option item of type U
-
def
put[T](t: T, condition: Expression = Expression.empty)(implicit arg0: Encoder[T]): F[Unit]
Put an item into a table.
Put an item into a table.
- T
item's type
- t
item to be put
- condition
conditional expression
- returns
Unit
-
def
retrieve[T](query: Query[P, Nothing], consistentRead: Boolean)(implicit arg0: Decoder[T], RT: RaiseThrowable[F]): F[Option[T]]
Retrieve items from a partition key index, can be a secondary index or a table which has only partition key and no sort key.
Retrieve items from a partition key index, can be a secondary index or a table which has only partition key and no sort key.
- T
return item's type
- query
a query to filter items by key condition
- consistentRead
toggle to perform consistent read
- RT
implicit evidence for RaiseThrowable
- returns
optional item of type T
- Definition Classes
- SimpleIndex
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val tableName: String
-
def
update[T](partitionKey: P, returnValue: ReturnValue, update: Expression, condition: Expression)(implicit arg0: Decoder[T]): F[Option[T]]
Update an item by partition key given an update expression when a condition expression is fulfilled.
Update an item by partition key given an update expression when a condition expression is fulfilled. Return item is customizable via
returnValue
parameter.- T
returned item's type
- partitionKey
partition key
- returnValue
flag to define which item to be returned
- update
update expression
- condition
conditional expression
- returns
an optional item of type T
-
def
update(partitionKey: P, update: Expression, condition: Expression = Expression.empty): F[Unit]
Update an item by partition key given an update expression when a condition expression is fulfilled.
Update an item by partition key given an update expression when a condition expression is fulfilled. Return Unit.
- partitionKey
partition key
- update
update expression
- condition
conditional expression
- returns
Unit
-
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