package dynamodb
- Alphabetic
- By Inheritance
- dynamodb
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class CommittableRecord(shardId: String, recordProcessorStartingSequenceNumber: ExtendedSequenceNumber, millisBehindLatest: Long, record: RecordAdapter, recordProcessor: RecordProcessor, checkpointer: IRecordProcessorCheckpointer, inFlightRecordsPhaser: Phaser) extends Product with Serializable
A message type from Kinesis which has not yet been commited or checkpointed.
A message type from Kinesis which has not yet been commited or checkpointed.
- shardId
the unique identifier for the shard from which this record originated
- millisBehindLatest
ms behind the latest record, used to detect if the consumer is lagging the producer
- record
the original record document from Kinesis
- recordProcessor
reference to the record processor that is responsible for processing this message
- checkpointer
reference to the checkpointer used to commit this record
- class KinesisCheckpointSettings extends AnyRef
Settings for configuring the Kinesis checkpointer pipe
- class KinesisStreamSettings extends AnyRef
Settings for configuring the Kinesis consumer stream
- class RecordProcessor extends IRecordProcessor
Concrete implementation of the AWS RecordProcessor interface.
Concrete implementation of the AWS RecordProcessor interface. Wraps incoming records into CommitableRecord types to allow for downstream checkpointing
Value Members
- def checkpointRecords[F[_]](checkpointSettings: KinesisCheckpointSettings = KinesisCheckpointSettings.defaultInstance, parallelism: Int = 10)(implicit arg0: ConcurrentEffect[F], arg1: Timer[F]): Pipe[F, CommittableRecord, Record]
Pipe to checkpoint records in Kinesis, marking them as processed Groups records by shard id, so that each shard is subject to its own clustering of records After accumulating maxBatchSize or reaching maxBatchWait for a respective shard, the latest record is checkpointed By design, all records prior to the checkpointed record are also checkpointed in Kinesis
Pipe to checkpoint records in Kinesis, marking them as processed Groups records by shard id, so that each shard is subject to its own clustering of records After accumulating maxBatchSize or reaching maxBatchWait for a respective shard, the latest record is checkpointed By design, all records prior to the checkpointed record are also checkpointed in Kinesis
- F
effect type of the fs2 stream
- checkpointSettings
configure maxBatchSize and maxBatchWait time before triggering a checkpoint
- returns
a stream of Record types representing checkpointed messages
- def checkpointRecords_[F[_]](checkpointSettings: KinesisCheckpointSettings = KinesisCheckpointSettings.defaultInstance)(implicit F: ConcurrentEffect[F], timer: Timer[F]): Pipe[F, CommittableRecord, Unit]
Sink to checkpoint records in Kinesis, marking them as processed Groups records by shard id, so that each shard is subject to its own clustering of records After accumulating maxBatchSize or reaching maxBatchWait for a respective shard, the latest record is checkpointed By design, all records prior to the checkpointed record are also checkpointed in Kinesis
Sink to checkpoint records in Kinesis, marking them as processed Groups records by shard id, so that each shard is subject to its own clustering of records After accumulating maxBatchSize or reaching maxBatchWait for a respective shard, the latest record is checkpointed By design, all records prior to the checkpointed record are also checkpointed in Kinesis
- F
effect type of the fs2 stream
- checkpointSettings
configure maxBatchSize and maxBatchWait time before triggering a checkpoint
- returns
a Sink that accepts a stream of CommittableRecords
- def readFromDynamDBStream[F[_]](appName: String, streamName: String)(implicit arg0: ConcurrentEffect[F], arg1: ContextShift[F]): Stream[F, CommittableRecord]
Intialize a worker and start streaming records from a Kinesis stream On stream finish (due to error or other), worker will be shutdown
Intialize a worker and start streaming records from a Kinesis stream On stream finish (due to error or other), worker will be shutdown
- F
effect type of the fs2 stream
- appName
name of the Kinesis application. Used by KCL when resharding
- streamName
name of the Kinesis stream to consume from
- returns
an infinite fs2 Stream that emits Kinesis Records
- def readFromDynamoDBStream[F[_]](workerConfiguration: KinesisClientLibConfiguration, dynamoDBStreamsClient: AmazonDynamoDBStreams = AmazonDynamoDBStreamsClientBuilder.standard().withRegion(Regions.US_EAST_1).build(), dynamoDBClient: AmazonDynamoDB = AmazonDynamoDBClientBuilder.standard().withRegion(Regions.US_EAST_1).build(), cloudWatchClient: AmazonCloudWatch = AmazonCloudWatchClientBuilder.standard().withRegion(Regions.US_EAST_1).build(), streamConfig: KinesisStreamSettings = KinesisStreamSettings.defaultInstance)(implicit arg0: ConcurrentEffect[F], arg1: ContextShift[F]): Stream[F, CommittableRecord]
Intialize a worker and start streaming records from a Kinesis stream On stream finish (due to error or other), worker will be shutdown
Intialize a worker and start streaming records from a Kinesis stream On stream finish (due to error or other), worker will be shutdown
- F
effect type of the fs2 stream
- streamConfig
configuration for the internal stream
- returns
an infinite fs2 Stream that emits Kinesis Records
- object CommittableRecord extends Serializable
- object KinesisCheckpointSettings
- object KinesisStreamSettings