Packages

object KinesisFlow

Source
KinesisFlow.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. KinesisFlow
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def apply(streamName: String, settings: KinesisFlowSettings = KinesisFlowSettings.Defaults)(implicit kinesisClient: KinesisAsyncClient): Flow[PutRecordsRequestEntry, PutRecordsResultEntry, NotUsed]
  2. def batchWritingFlow[S, T](streamName: String, handleBatch: (Iterable[(PutRecordsRequestEntry, T)]) => (Try[PutRecordsResponse]) => Try[Iterable[(S, T)]], settings: KinesisFlowSettings)(implicit kinesisClient: KinesisAsyncClient): Flow[Iterable[(PutRecordsRequestEntry, T)], (S, T), NotUsed]
  3. def batchingFlow[T](settings: KinesisFlowSettings): Flow[(PutRecordsRequestEntry, T), Iterable[(PutRecordsRequestEntry, T)], NotUsed]
  4. def byPartitionAndBytes(streamName: String, settings: KinesisFlowSettings = KinesisFlowSettings.Defaults)(implicit kinesisClient: KinesisAsyncClient): Flow[(String, ByteString), PutRecordsResultEntry, NotUsed]
  5. def byPartitionAndData(streamName: String, settings: KinesisFlowSettings = KinesisFlowSettings.Defaults)(implicit kinesisClient: KinesisAsyncClient): Flow[(String, ByteBuffer), PutRecordsResultEntry, NotUsed]
  6. def handlePutRecordsSuccess[T](entries: Iterable[(PutRecordsRequestEntry, T)])(result: PutRecordsResponse): List[(PutRecordsResultEntry, T)]
  7. def withContext[T](streamName: String, settings: KinesisFlowSettings = KinesisFlowSettings.Defaults)(implicit kinesisClient: KinesisAsyncClient): FlowWithContext[PutRecordsRequestEntry, T, PutRecordsResultEntry, T, NotUsed]

    Creates default implementation of KinesisFlow that takes in PutRecordsRequestEntry with context and emits PutRecordsResultEntry with context.

    Creates default implementation of KinesisFlow that takes in PutRecordsRequestEntry with context and emits PutRecordsResultEntry with context.

    To note is that the flow first does batching according to the KinesisFlowSettings provided and then writes the data in batches via the KinesisAsyncClient. On any error from the client, the flow will fail.

    If it is necessary to have special handling for batching or of errors and successful results the methods @see KinesisFlow.batchingFlow & @see KinesisFlow.batchWritingFlow can be used and combined in other ways than the default in this method.