Posting to an AWS Kinesis Queue is rather simple and straight forward. As always you should refer to AWS Documentation.
Put Multiple Records On Queue
Import the following
import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.kinesis.AmazonKinesis; import com.amazonaws.services.kinesis.AmazonKinesisClientBuilder; import com.amazonaws.services.kinesis.model.PutRecordsRequest; import com.amazonaws.services.kinesis.model.PutRecordsRequestEntry; import com.amazonaws.services.kinesis.model.Record;
Put Records
AmazonKinesisClientBuilder clientBuilder = AmazonKinesisClientBuilder.standard().withRegion(myRegion).withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(myAccessKeyId, mySecretKey))); AmazonKinesis kinesisClient = clientBuilder.build(); PutRecordsRequest putRecordsRequest = new PutRecordsRequest(); putRecordsRequest.setStreamName(myQueue); List putRecordsRequestEntryList = new ArrayList<>(); //You can put multiple entries at once if you wanted to PutRecordsRequestEntry putRecordsRequestEntry = new PutRecordsRequestEntry(); putRecordsRequestEntry.setData(ByteBuffer.wrap(myData)); putRecordsRequestEntry.setPartitionKey(myKey); putRecordsRequestEntryList.add(putRecordsRequestEntry); putRecordsRequest.setRecords(putRecordsRequestEntryList); PutRecordsResult putResult = kinesisClient.putRecords(putRecordsRequest);
Put Single Record On Queue
Import the following
import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.kinesis.AmazonKinesis; import com.amazonaws.services.kinesis.AmazonKinesisClientBuilder; import com.amazonaws.services.kinesis.model.PutRecordRequest; import com.amazonaws.services.kinesis.model.Record;
Put Record
AmazonKinesisClientBuilder clientBuilder = AmazonKinesisClientBuilder.standard().withRegion(myRegion).withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(myAccessKeyId, mySecretKey))); AmazonKinesis kinesisClient = clientBuilder.build(); PutRecordRequest putRecordRequest = new PutRecordRequest(); putRecordRequest.setStreamName(myQueue); putRecordRequest.setData(ByteBuffer.wrap(data.getBytes("UTF-8"))); putRecordRequest.setPartitionKey(myKey); PutRecordResult putResult = kinesisClient.putRecord(putRecordRequest);
You now have put a record(s) onto the queue congratulations!
You must be logged in to post a comment.