- AWS: Java S3 Lambda Handler
- AWS: Java Kinesis Lambda Handler
- AWS: Java S3 Upload
- AWS: Java Post to Kinesis Queue
- AWS: Send Simple Email Service
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!