Create client
private static AmazonKinesis setupKinesisClient()
{
AWSCredentialsProvider provider = new DefaultAWSCredentialsProviderChain();
ClientConfiguration kinesisConfig = new ClientConfiguration();
kinesisConfig.setMaxConnections(1);
kinesisConfig.setProtocol(Protocol.HTTPS);
kinesisConfig.setConnectionTimeout(10000); // 10 sec
kinesisConfig.setSocketTimeout(60000); // 1 min
return AmazonKinesisClientBuilder
.standard()
.withCredentials(provider)
.withClientConfiguration(kinesisConfig)
.withRegion(Regions.AP_SOUTHEAST_2)
.build();
}
Write
final String streamName = "MyKinesisStream";
String partitionKey = ...;
byte[] data = ...;
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.withData(ByteBuffer.wrap(data));
putRecordRequest.withPartitionKey(partitionKey);
putRecordRequest.withStreamName(streamName);
kinesis.putRecord(putRecordRequest)