Example usage for com.amazonaws.services.kinesis.model GetShardIteratorRequest setTimestamp

List of usage examples for com.amazonaws.services.kinesis.model GetShardIteratorRequest setTimestamp

Introduction

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

Prototype


public void setTimestamp(java.util.Date timestamp) 

Source Link

Document

The time stamp of the data record from which to start reading.

Usage

From source file:com.trulia.stail.Stail.java

License:Apache License

private static String getShardIterator(AmazonKinesis client, String stream, Shard shard, String start) {
    GetShardIteratorRequest getShardIteratorRequest = new GetShardIteratorRequest();
    getShardIteratorRequest.setStreamName(stream);
    getShardIteratorRequest.setShardId(shard.getShardId());

    if (!Strings.isNullOrEmpty(start)) {
        getShardIteratorRequest.setShardIteratorType(ShardIteratorType.AT_TIMESTAMP);
        getShardIteratorRequest
                .setTimestamp(new Date(System.currentTimeMillis() - Duration.parse(start).toMillis()));
    } else {//from w  w w  .  java 2s.  co  m
        getShardIteratorRequest.setShardIteratorType(ShardIteratorType.LATEST);
    }

    GetShardIteratorResult getShardIteratorResult = client.getShardIterator(getShardIteratorRequest);
    return getShardIteratorResult.getShardIterator();
}

From source file:org.apache.flink.streaming.connectors.kinesis.proxy.KinesisProxy.java

License:Apache License

/**
 * {@inheritDoc}// w  w w.j av  a 2  s .c om
 */
@Override
public String getShardIterator(KinesisStreamShard shard, String shardIteratorType,
        @Nullable Object startingMarker) throws InterruptedException {
    GetShardIteratorRequest getShardIteratorRequest = new GetShardIteratorRequest()
            .withStreamName(shard.getStreamName()).withShardId(shard.getShard().getShardId())
            .withShardIteratorType(shardIteratorType);

    switch (ShardIteratorType.fromValue(shardIteratorType)) {
    case TRIM_HORIZON:
    case LATEST:
        break;
    case AT_TIMESTAMP:
        if (startingMarker instanceof Date) {
            getShardIteratorRequest.setTimestamp((Date) startingMarker);
        } else {
            throw new IllegalArgumentException(
                    "Invalid object given for GetShardIteratorRequest() when ShardIteratorType is AT_TIMESTAMP. Must be a Date object.");
        }
        break;
    case AT_SEQUENCE_NUMBER:
    case AFTER_SEQUENCE_NUMBER:
        if (startingMarker instanceof String) {
            getShardIteratorRequest.setStartingSequenceNumber((String) startingMarker);
        } else {
            throw new IllegalArgumentException(
                    "Invalid object given for GetShardIteratorRequest() when ShardIteratorType is AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. Must be a String.");
        }
    }
    return getShardIterator(getShardIteratorRequest);
}

From source file:org.apache.storm.kinesis.spout.KinesisConnection.java

License:Apache License

String getShardIterator(String stream, String shardId, ShardIteratorType shardIteratorType,
        String sequenceNumber, Date timestamp) {
    String shardIterator = "";
    try {/* w w  w .  java2  s. com*/
        GetShardIteratorRequest getShardIteratorRequest = new GetShardIteratorRequest();
        getShardIteratorRequest.setStreamName(stream);
        getShardIteratorRequest.setShardId(shardId);
        getShardIteratorRequest.setShardIteratorType(shardIteratorType);
        if (shardIteratorType.equals(ShardIteratorType.AFTER_SEQUENCE_NUMBER)
                || shardIteratorType.equals(ShardIteratorType.AT_SEQUENCE_NUMBER)) {
            getShardIteratorRequest.setStartingSequenceNumber(sequenceNumber);
        } else if (shardIteratorType.equals(ShardIteratorType.AT_TIMESTAMP)) {
            getShardIteratorRequest.setTimestamp(timestamp);
        }
        GetShardIteratorResult getShardIteratorResult = kinesisClient.getShardIterator(getShardIteratorRequest);
        if (getShardIteratorResult != null) {
            shardIterator = getShardIteratorResult.getShardIterator();
        }
    } catch (Exception e) {
        LOG.warn(
                "Exception occured while getting shardIterator for shard " + shardId + " shardIteratorType "
                        + shardIteratorType + " sequence number " + sequenceNumber + " timestamp " + timestamp,
                e);
    }
    LOG.warn("Returning shardIterator " + shardIterator + " for shardId " + shardId + " shardIteratorType "
            + shardIteratorType + " sequenceNumber " + sequenceNumber + " timestamp" + timestamp);
    return shardIterator;
}