Skip to content

Commit be0dcd2

Browse files
authored
Simplified ByteBuffer decoding logic and incorporated other feedback
1 parent 5d3d9ce commit be0dcd2

File tree

1 file changed

+2
-25
lines changed

1 file changed

+2
-25
lines changed

integration-kinesis-to-lambda/Handler.java

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,9 @@
55
import com.amazonaws.services.lambda.runtime.RequestHandler;
66
import com.amazonaws.services.lambda.runtime.events.KinesisEvent;
77

8-
import java.nio.ByteBuffer;
9-
import java.nio.CharBuffer;
10-
import java.nio.charset.CharacterCodingException;
11-
import java.nio.charset.CharsetDecoder;
12-
import java.nio.charset.StandardCharsets;
13-
14-
158
public class Handler implements RequestHandler<KinesisEvent, Void> {
169
@Override
17-
public Void handleRequest(KinesisEvent event, Context context) {
10+
public Void handleRequest(final KinesisEvent event, final Context context) {
1811
LambdaLogger logger = context.getLogger();
1912
if (event.getRecords().isEmpty()) {
2013
logger.log("Empty Kinesis Event received");
@@ -23,7 +16,7 @@ public Void handleRequest(KinesisEvent event, Context context) {
2316
for (KinesisEvent.KinesisEventRecord record : event.getRecords()) {
2417
try {
2518
logger.log("Processed Event with EventId: "+record.getEventID());
26-
String data = decodeRecordData(record.getKinesis().getData(),context);
19+
String data = new String(record.getKinesis().getData().array());
2720
logger.log("Data:"+ data);
2821
// TODO: Do interesting work based on the new data
2922
}
@@ -36,20 +29,4 @@ public Void handleRequest(KinesisEvent event, Context context) {
3629
return null;
3730
}
3831

39-
private String decodeRecordData(ByteBuffer encodedData,Context context) {
40-
// Create a CharsetDecoder object for the desired character set
41-
CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder();
42-
// Decode the ByteBuffer using the CharsetDecoder object
43-
String decodedData = null;
44-
try {
45-
CharBuffer charBuffer = decoder.decode(encodedData);
46-
// Convert the decoded characters to a String
47-
decodedData = charBuffer.toString();
48-
} catch (CharacterCodingException characterCodingException) {
49-
context.getLogger().log("Error decoding data: " + characterCodingException.getMessage());
50-
throw new RuntimeException(characterCodingException);
51-
}
52-
53-
return decodedData;
54-
}
5532
}

0 commit comments

Comments
 (0)