Example usage for com.amazonaws.services.kinesis.model Shard Shard

List of usage examples for com.amazonaws.services.kinesis.model Shard Shard

Introduction

In this page you can find the example usage for com.amazonaws.services.kinesis.model Shard Shard.

Prototype

Shard

Source Link

Usage

From source file:org.apache.beam.sdk.io.kinesis.AmazonKinesisMock.java

License:Apache License

@Override
public DescribeStreamResult describeStream(String streamName, String exclusiveStartShardId) {
    int nextShardId = 0;
    if (exclusiveStartShardId != null) {
        nextShardId = parseInt(exclusiveStartShardId) + 1;
    }//from   w  w w .j ava 2 s . com
    boolean hasMoreShards = nextShardId + 1 < shardedData.size();

    List<Shard> shards = new ArrayList<>();
    if (nextShardId < shardedData.size()) {
        shards.add(new Shard().withShardId(Integer.toString(nextShardId)));
    }

    HttpResponse response = new HttpResponse(null, null);
    response.setStatusCode(200);
    DescribeStreamResult result = new DescribeStreamResult();
    result.setSdkHttpMetadata(SdkHttpMetadata.from(response));
    result.withStreamDescription(new StreamDescription().withHasMoreShards(hasMoreShards).withShards(shards)
            .withStreamName(streamName));
    return result;
}

From source file:org.apache.flink.streaming.connectors.kinesis.internals.KinesisDataFetcher.java

License:Apache License

/**
 * Utility function to convert {@link StreamShardMetadata} into {@link StreamShardHandle}.
 *
 * @param streamShardMetadata the {@link StreamShardMetadata} to be converted
 * @return a {@link StreamShardHandle} object
 *///w w w  . j ava  2  s . com
public static StreamShardHandle convertToStreamShardHandle(StreamShardMetadata streamShardMetadata) {
    Shard shard = new Shard();
    shard.withShardId(streamShardMetadata.getShardId());
    shard.withParentShardId(streamShardMetadata.getParentShardId());
    shard.withAdjacentParentShardId(streamShardMetadata.getAdjacentParentShardId());

    HashKeyRange hashKeyRange = new HashKeyRange();
    hashKeyRange.withStartingHashKey(streamShardMetadata.getStartingHashKey());
    hashKeyRange.withEndingHashKey(streamShardMetadata.getEndingHashKey());
    shard.withHashKeyRange(hashKeyRange);

    SequenceNumberRange sequenceNumberRange = new SequenceNumberRange();
    sequenceNumberRange.withStartingSequenceNumber(streamShardMetadata.getStartingSequenceNumber());
    sequenceNumberRange.withEndingSequenceNumber(streamShardMetadata.getEndingSequenceNumber());
    shard.withSequenceNumberRange(sequenceNumberRange);

    return new StreamShardHandle(streamShardMetadata.getStreamName(), shard);
}

From source file:org.apache.flink.streaming.connectors.kinesis.testutils.ReferenceKinesisShardTopologies.java

License:Apache License

/**
 * A basic topology with 4 shards, where each shard is still open,
 * and have no parent-child relationships due to shard split or merge.
 *
 * Topology layout://  w  ww  . j  ava2s  .  c  o m
 *
 * +- shard 0 (seq:   0 ~ open)
 * |
 * +- shard 1 (seq: 250 ~ open)
 * |
 * +- shard 2 (seq: 500 ~ open)
 * |
 * +- shard 3 (seq: 750 ~ open)
 *
 */
public static List<KinesisStreamShard> flatTopologyWithFourOpenShards() {
    int shardCount = 4;
    List<KinesisStreamShard> topology = new ArrayList<>(shardCount);
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(0))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("0"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(1))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("250"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(2))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("500"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(3))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("750"))));
    return topology;
}

From source file:org.apache.flink.streaming.connectors.kinesis.testutils.ReferenceKinesisShardTopologies.java

License:Apache License

/**
 * A basic topology with 4 shards, where each shard is still open,
 * and have no parent-child relationships due to shard split or merge.
 *
 * Topology layout://w w  w.  j  a v  a  2  s . co m
 *
 * +- shard 0 (seq:   0 ~ 120) --+
 * |                             +- (merge) -- shard 3 (750 ~ open)
 * +- shard 1 (seq: 250 ~ 289) --+
 * |
 * +- shard 2 (seq: 500 ~ open)
 *
 */
public static List<KinesisStreamShard> topologyWithThreeInitialShardsAndFirstTwoMerged() {
    int shardCount = 4;

    List<KinesisStreamShard> topology = new ArrayList<>(shardCount);
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(0))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("0")
                            .withEndingSequenceNumber("120"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(1))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("250")
                            .withEndingSequenceNumber("289"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(2))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("500"))));
    topology.add(new KinesisStreamShard(DEFAULT_STREAM,
            new Shard().withShardId(KinesisShardIdGenerator.generateFromShardOrder(3))
                    .withSequenceNumberRange(new SequenceNumberRange().withStartingSequenceNumber("750"))));

    return topology;
}