/** * <p> * The name of the stream to describe. * </p> * * @param streamName * The name of the stream to describe. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeStreamRequest withStreamName(String streamName) { setStreamName(streamName); return this; }
List<Shard> getShardsForStream (String stream) { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(stream); List<Shard> shards = new ArrayList<>(); String exclusiveStartShardId = null; do { describeStreamRequest.setExclusiveStartShardId(exclusiveStartShardId); DescribeStreamResult describeStreamResult = kinesisClient.describeStream(describeStreamRequest); shards.addAll(describeStreamResult.getStreamDescription().getShards()); if (describeStreamResult.getStreamDescription().getHasMoreShards() && shards.size() > 0) { exclusiveStartShardId = shards.get(shards.size() - 1).getShardId(); } else { exclusiveStartShardId = null; } } while ( exclusiveStartShardId != null ); LOG.info("Number of shards for stream " + stream + " are " + shards.size()); return shards; }
/** * Helper method to determine if an Amazon Kinesis stream exists. * * @param kinesisClient The {@link com.amazonaws.services.kinesis.AmazonKinesisClient} with Amazon Kinesis read privileges * @param streamName The Amazon Kinesis stream to check for * @return true if the Amazon Kinesis stream exists, otherwise return false */ private static boolean streamExists(AmazonKinesisClient kinesisClient, String streamName) { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); try { kinesisClient.describeStream(describeStreamRequest); return true; } catch (ResourceNotFoundException e) { return false; } }
throws AmazonServiceException, AmazonClientException { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); return describeStream(describeStreamRequest);
/** * Return the state of a Amazon Kinesis stream. * * @param kinesisClient The {@link com.amazonaws.services.kinesis.AmazonKinesisClient} with Amazon Kinesis read privileges * @param streamName The Amazon Kinesis stream to get the state of * @return String representation of the Stream state */ private static String streamState(AmazonKinesisClient kinesisClient, String streamName) { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); try { return kinesisClient.describeStream(describeStreamRequest).getStreamDescription().getStreamStatus(); } catch (AmazonServiceException e) { return null; } }
throws AmazonServiceException, AmazonClientException { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); describeStreamRequest.setExclusiveStartShardId(exclusiveStartShardId); return describeStream(describeStreamRequest);
throws AmazonServiceException, AmazonClientException { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); describeStreamRequest.setLimit(limit); describeStreamRequest.setExclusiveStartShardId(exclusiveStartShardId);
/** * @param streamArn The ARN of the stream to describe. * @return A reference to this updated object so that method calls can be chained together. */ @Override public DescribeStreamRequest withStreamArn(String streamArn) { internalRequest.setStreamName(streamArn); return this; }
/** * @param streamArn The ARN of the stream to describe. */ @Override public void setStreamArn(String streamArn) { internalRequest.setStreamName(streamArn); }
/** * @param streamArn The ARN of the stream to describe. * @return A reference to this updated object so that method calls can be chained together. */ @Override public DescribeStreamRequest withStreamArn(String streamArn) { internalRequest.setStreamName(streamArn); return this; }
/** * <p> * The name of the stream to describe. * </p> * * @param streamName * The name of the stream to describe. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeStreamRequest withStreamName(String streamName) { setStreamName(streamName); return this; }
/** * @param streamArn The ARN of the stream to describe. */ @Override public void setStreamArn(String streamArn) { internalRequest.setStreamName(streamArn); }
/** * Helper method to determine if an Amazon Kinesis stream exists. * * @param kinesisClient * The {@link com.amazonaws.services.kinesis.AmazonKinesisClient} with Amazon Kinesis read privileges * @param streamName * The Amazon Kinesis stream to check for * @return true if the Amazon Kinesis stream exists, otherwise return false */ private static boolean streamExists(AmazonKinesisClient kinesisClient, String streamName) { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); try { kinesisClient.describeStream(describeStreamRequest); return true; } catch (ResourceNotFoundException e) { return false; } }
/** * Get the available shards from the kinesis * @param streamName Name of the stream from where the shards to be accessed * @return the list of shards from the given stream */ public List<Shard> getShardList(String streamName) { assert client != null : "Illegal client"; DescribeStreamRequest describeRequest = new DescribeStreamRequest(); describeRequest.setStreamName(streamName); DescribeStreamResult describeResponse = client.describeStream(describeRequest); return describeResponse.getStreamDescription().getShards(); }
/** * @param streamName The ID of the stream to describe. * @param limit The maximum number of shards to return. * @param exclusiveStartShardId The shard ID of the shard to start with for the stream description. * @return The response from the DescribeStream service method, adapted for use with the AmazonKinesis model. */ @Override public DescribeStreamResult describeStream(String streamName, Integer limit, String exclusiveStartShardId) { DescribeStreamRequest request = new DescribeStreamRequest(); request.setStreamName(streamName); request.setLimit(limit); request.setExclusiveStartShardId(exclusiveStartShardId); return this.describeStream(request); }
/** * Get the available shards from the kinesis * @param streamName Name of the stream from where the shards to be accessed * @return the list of shards from the given stream */ public List<Shard> getShardList(String streamName) { assert client != null:"Illegal client"; DescribeStreamRequest describeRequest = new DescribeStreamRequest(); describeRequest.setStreamName(streamName); DescribeStreamResult describeResponse = client.describeStream(describeRequest); return describeResponse.getStreamDescription().getShards(); }
/** * @param streamName The ID of the stream to describe. * @param limit The maximum number of shards to return. * @param exclusiveStartShardId The shard ID of the shard to start with for the stream description. * @return The response from the DescribeStream service method, adapted for use with the AmazonKinesis model. */ @Override public DescribeStreamResult describeStream(String streamName, Integer limit, String exclusiveStartShardId) { DescribeStreamRequest request = new DescribeStreamRequest(); request.setStreamName(streamName); request.setLimit(limit); request.setExclusiveStartShardId(exclusiveStartShardId); return this.describeStream(request); }
/** * Return the state of a Amazon Kinesis stream. * * @param kinesisClient * The {@link com.amazonaws.services.kinesis.AmazonKinesisClient} with Amazon Kinesis read privileges * @param streamName * The Amazon Kinesis stream to get the state of * @return String representation of the Stream state */ private static String streamState(AmazonKinesisClient kinesisClient, String streamName) { DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest(); describeStreamRequest.setStreamName(streamName); try { return kinesisClient.describeStream(describeStreamRequest).getStreamDescription().getStreamStatus(); } catch (AmazonServiceException e) { return null; } }
@Override public ImmutableSortedMap<String, ShardInfo> getShardList() { Map<String, ShardInfo> spoutShards = new HashMap<>(); DescribeStreamRequest input = new DescribeStreamRequest(); DescribeStreamResult out; input.setStreamName(streamName); input.setLimit(DESCRIBE_STREAM_LIMIT); out = getDescribeStreamResult(input); while (true) { String lastShard = addTruncatedShardList(spoutShards, out.getStreamDescription().getShards()); // If we have finished processing all the shards, we can stop looping if (!out.getStreamDescription().isHasMoreShards()) { break; } LOG.debug("There are more shards in the stream, continue paginated calls."); input.setExclusiveStartShardId(lastShard); out = getDescribeStreamResult(input); } return ImmutableSortedMap.copyOf(spoutShards, SHARD_ID_COMPARATOR); }
public String prepareIterator() describeRequest.setStreamName(streamName);