List of usage examples for com.amazonaws.services.kinesis.model CreateStreamRequest CreateStreamRequest
CreateStreamRequest
From source file:com.xujinpeng.kinesis.AmazonKinesisRecordProducer.java
License:Open Source License
public void produceData(int counter) throws InterruptedException { String myStreamName = Constants.APPLICATION_STREAM_NAME; Integer myStreamSize = 1;/* ww w . j a v a 2 s. c om*/ // Describe the stream and check if it exists. DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest().withStreamName(myStreamName); try { StreamDescription streamDescription = kinesis.describeStream(describeStreamRequest) .getStreamDescription(); System.out.printf("Stream %s has a status of %s.\n", myStreamName, streamDescription.getStreamStatus()); if ("DELETING".equals(streamDescription.getStreamStatus())) { System.out.println("Stream is being deleted. This sample will now exit."); waitForStreamToBecomeAvailable(myStreamName); // System.exit(0); } // Wait for the stream to become active if it is not yet ACTIVE. if (!"ACTIVE".equals(streamDescription.getStreamStatus())) { waitForStreamToBecomeAvailable(myStreamName); } } catch (ResourceNotFoundException ex) { System.out.printf("Stream %s does not exist. Creating it now.\n", myStreamName); // Create a stream. The number of shards determines the provisioned throughput. CreateStreamRequest createStreamRequest = new CreateStreamRequest(); createStreamRequest.setStreamName(myStreamName); createStreamRequest.setShardCount(myStreamSize); kinesis.createStream(createStreamRequest); // The stream is now being created. Wait for it to become active. waitForStreamToBecomeAvailable(myStreamName); } // List all of my streams. ListStreamsRequest listStreamsRequest = new ListStreamsRequest(); listStreamsRequest.setLimit(10); ListStreamsResult listStreamsResult = kinesis.listStreams(listStreamsRequest); List<String> streamNames = listStreamsResult.getStreamNames(); while (listStreamsResult.isHasMoreStreams()) { if (streamNames.size() > 0) { listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1)); } listStreamsResult = kinesis.listStreams(listStreamsRequest); streamNames.addAll(listStreamsResult.getStreamNames()); } // Print all of my streams. System.out.println("List of my streams: "); for (int i = 0; i < streamNames.size(); i++) { System.out.println("\t- " + streamNames.get(i)); } System.out.printf("Putting records in stream : %s until this application is stopped...\n", myStreamName); System.out.println("Press CTRL-C to stop."); // Write records to the stream until this program is aborted. for (int i = 0; i < counter; i++) { long createTime = System.currentTimeMillis(); PutRecordRequest putRecordRequest = new PutRecordRequest(); putRecordRequest.setStreamName(myStreamName); Date loginDate = new Date(System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1)); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a"); System.out.println(dateFormat.format(loginDate)); String randomData = String.format( "{\"username\":\"%s\", \"loginTime\":\"%s\", \"gameDuration\":\"%s\", \"gameResult\":\"%s\", \"isBlackJack\":\"%s\"}\n", getRandomUserName(), dateFormat.format(loginDate), getRandomGameDuration(), getRandomGameResult(), getRandomBlackJackResult()); putRecordRequest.setData(ByteBuffer.wrap(randomData.getBytes())); putRecordRequest.setPartitionKey(String.format("partitionKey-%d", createTime)); kinesis.putRecord(putRecordRequest); System.out.printf(randomData); } }
From source file:org.apache.apex.malhar.contrib.kinesis.KinesisOperatorTestBase.java
License:Apache License
@Before public void beforeTest() { CreateStreamRequest streamRequest = null; createClient();// w ww . j av a 2 s . c o m for (int i = 0; i < 100; ++i) { try { streamName = streamNamePrefix + i; streamRequest = new CreateStreamRequest(); streamRequest.setStreamName(streamName); streamRequest.setShardCount(shardCount); client.createStream(streamRequest); logger.info("created stream {}.", streamName); Thread.sleep(30000); break; } catch (ResourceInUseException riue) { logger.warn("Resource is in use.", riue.getMessage()); } catch (Exception e) { logger.error("Got exception.", e); throw new RuntimeException(e); } } }