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.