java.lang.Object
com.amazonaws.services.dynamodbv2.streamsadapter.util.KinesisMapperUtil

public final class KinesisMapperUtil extends Object
  • Field Details

    • MIN_LEASE_RETENTION_DURATION_IN_HOURS

      public static final Duration MIN_LEASE_RETENTION_DURATION_IN_HOURS
      All the shard-leases should stay retained for at least 6 hours in the lease table. This duration ensures that we don't prematurely delete leases that might be needed for stream position recovery.
  • Method Details

    • convertDynamoDBShardToKinesisShard

      public static software.amazon.awssdk.services.kinesis.model.Shard convertDynamoDBShardToKinesisShard(software.amazon.awssdk.services.dynamodb.model.Shard dynamoDBShard)
      Converts a DynamoDB Streams Shard to a Kinesis Shard.
      Returns:
      Shard kinesisShard
    • convertDynamoDBGetShardIteratorResponseToKinesisGetShardIteratorResponse

      public static software.amazon.awssdk.services.kinesis.model.GetShardIteratorResponse convertDynamoDBGetShardIteratorResponseToKinesisGetShardIteratorResponse(software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse dynamoDBGetShardIteratorResponse)
      Converts the DynamoDB Streams GetShardIterator response to Kinesis GetShardIterator response.
      Returns:
      GetShardIteratorResponse kinesisGetShardIteratorResponse
    • convertDynamoDBListStreamsResponseToKinesisListStreamsResponse

      public static software.amazon.awssdk.services.kinesis.model.ListStreamsResponse convertDynamoDBListStreamsResponseToKinesisListStreamsResponse(software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse listStreamsResponse)
      Converts the DynamoDB Streams ListStreams response to Kinesis ListStreams response.
      Returns:
      GetShardIteratorResponse kinesisGetShardIteratorResponse
    • convertDynamoDBDescribeStreamResponseToKinesisDescribeStreamResponse

      public static software.amazon.awssdk.services.kinesis.model.DescribeStreamResponse convertDynamoDBDescribeStreamResponseToKinesisDescribeStreamResponse(software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse describeStreamResponse)
      Converts the DynamoDB Streams DescribeStream response to Kinesis DescribeStream response.
      Returns:
      DescribeStreamResponse kinesisDescribeStreamResponse
    • getShardCreationTime

      public static Instant getShardCreationTime(String shardId)
      This method extracts the shard creation time from the ShardId.
      Parameters:
      shardId -
      Returns:
      instant at which the shard was created
    • isValidDynamoDBStreamArn

      public static boolean isValidDynamoDBStreamArn(String arn)
      Validates if the given string is a valid DynamoDB Stream ARN.
    • createKinesisStreamIdentifierFromDynamoDBStreamsArn

      public static String createKinesisStreamIdentifierFromDynamoDBStreamsArn(String dynamoDbStreamArn, boolean isMultiStreamMode)
      Creates a Kinesis-format StreamIdentifier from a DynamoDB Stream ARN. Converts stream label from colon to underscore to avoid issues with colon in shardId Format: region$accountId$tableName$underscore_separated_streamLabel for single streaming case Format: accountId:region$accountId$tableName$underscore_separated_streamLabel:1 for multi-streaming case
      Returns:
      String streamIdentifier
    • createDynamoDBStreamsArnFromKinesisStreamName

      public static String createDynamoDBStreamsArnFromKinesisStreamName(String streamName)
      Converts the stream name created by (String, boolean)}. to DynamoDB stream ARN
      Returns:
      String dynamoDBStreamArn