package com.amazonaws.proserv; import com.amazonaws.services.kinesis.AmazonKinesisClient; import com.amazonaws.services.kinesis.model.*; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; /** * Created by dgraeber on 7/27/2015. */ public class PopulateKinesisData { private String kinesisStream = "derektest"; private String kinesisEndpoint = "https://kinesis.us-east-1.amazonaws.com"; AmazonKinesisClient amazonKinesisClient; public static void main(String[]a){ PopulateKinesisData pkd = new PopulateKinesisData(); pkd.process(); } private void process(){ amazonKinesisClient = new AmazonKinesisClient(new SampleAWSCredentialProvider()); amazonKinesisClient.setEndpoint(kinesisEndpoint); while(true) { genearateMessage(); try { Thread.sleep(5000); } catch (InterruptedException e) { System.exit(-1); } } } private void genearateMessage(){ PutRecordsRequest putRecordsRequest = new PutRecordsRequest(); putRecordsRequest.setStreamName(kinesisStream); List <PutRecordsRequestEntry> putRecordsRequestEntryList = new ArrayList<>(); for (int i = 0; i < 100; i++) { String uniqueID = UUID.randomUUID().toString(); String message = getUniqueMessage(uniqueID); PutRecordsRequestEntry putRecordsRequestEntry = new PutRecordsRequestEntry(); putRecordsRequestEntry.setData(ByteBuffer.wrap(message.getBytes())); putRecordsRequestEntry.setPartitionKey(uniqueID); putRecordsRequestEntryList.add(putRecordsRequestEntry); //System.out.println(message); } putRecordsRequest.setRecords(putRecordsRequestEntryList); PutRecordsResult putRecordsResult = amazonKinesisClient.putRecords(putRecordsRequest); System.out.println("Put Result" + putRecordsResult); } private String getUniqueMessage(String uniqueId){ return "{\"SomeName\":\"ImportantData\",\"SomeKey\":\"REALLY important data\",\"id\":\""+uniqueId+"\",\"ts:\":\""+new Date().getTime()+"\"}"; } }