public static Shard getShard()

in src/main/java/com/amazonaws/services/kinesis/scaling/StreamScalingUtils.java [172:189]


	public static Shard getShard(final KinesisClient kinesisClient, final String streamName, final String shardIdStart)
			throws Exception {
		LOG.info(String.format("Getting Shard %s for Stream %s", shardIdStart, streamName));

		KinesisOperation describe = new KinesisOperation() {
			public Object run(KinesisClient client) {
				// reduce the shardIdStart by 1 as the API uses it as an exclusive start key not
				// a filter
				String shardIdToQuery = new BigDecimal(shardIdStart).subtract(new BigDecimal("1")).toString();
				ListShardsRequest req = ListShardsRequest.builder().streamName(streamName)
						.exclusiveStartShardId(shardIdToQuery).build();
				ListShardsResponse result = client.listShards(req);

				return result.shards().get(0);
			}
		};
		return (Shard) doOperation(kinesisClient, describe, streamName, DESCRIBE_RETRIES, false);
	}