package com.amazonaws.services.kinesis.producer.demo;
import java.nio.ByteBuffer;
import java.util.concurrent.BlockingQueue;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.kinesis.AmazonKinesis;
import com.amazonaws.services.kinesis.AmazonKinesisClient;
public class BasicClickEventsToKinesis extends AbstractClickEventsToKinesis {
private final AmazonKinesis kinesis;
public BasicClickEventsToKinesis(BlockingQueue<ClickEvent> inputQueue) {
super(inputQueue);
kinesis = new AmazonKinesisClient().withRegion(
Regions.fromName(REGION));
}
@Override
protected void runOnce() throws Exception {
ClickEvent event = inputQueue.take();
String partitionKey = event.getSessionId();
ByteBuffer data = ByteBuffer.wrap(
event.getPayload().getBytes("UTF-8"));
kinesis.putRecord(STREAM_NAME, data, partitionKey);
recordsPut.getAndIncrement();
}
}