diff --git a/integration-kinesis-to-lambda/Handler.java b/integration-kinesis-to-lambda/Handler.java new file mode 100644 index 0000000..9c9d8dd --- /dev/null +++ b/integration-kinesis-to-lambda/Handler.java @@ -0,0 +1,32 @@ +package example; + +import com.amazonaws.services.lambda.runtime.Context; +import com.amazonaws.services.lambda.runtime.LambdaLogger; +import com.amazonaws.services.lambda.runtime.RequestHandler; +import com.amazonaws.services.lambda.runtime.events.KinesisEvent; + +public class Handler implements RequestHandler { + @Override + public Void handleRequest(final KinesisEvent event, final Context context) { + LambdaLogger logger = context.getLogger(); + if (event.getRecords().isEmpty()) { + logger.log("Empty Kinesis Event received"); + return null; + } + for (KinesisEvent.KinesisEventRecord record : event.getRecords()) { + try { + logger.log("Processed Event with EventId: "+record.getEventID()); + String data = new String(record.getKinesis().getData().array()); + logger.log("Data:"+ data); + // TODO: Do interesting work based on the new data + } + catch (Exception ex) { + logger.log("An error occurred:"+ex.getMessage()); + throw ex; + } + } + logger.log("Successfully processed:"+event.getRecords().size()+" records"); + return null; + } + +} diff --git a/integration-kinesis-to-lambda/snippet-data.json b/integration-kinesis-to-lambda/snippet-data.json index adbad51..3951493 100644 --- a/integration-kinesis-to-lambda/snippet-data.json +++ b/integration-kinesis-to-lambda/snippet-data.json @@ -3,7 +3,7 @@ "description": "Using AWS Lambda with Amazon Kinesis without Batch Item Handling.", "type": "Integration", "services": ["lambda", "kinesis"], - "languages": ["Node", "TypeScript", ".NET"], + "languages": ["Node", "TypeScript", ".NET","Java"], "tags": [], "introBox": { "headline": "How it works", @@ -52,6 +52,17 @@ "language": "dotnet" } ] + }, + { + "id": "Java", + "title": "Usage Example with Java", + "description": "Consuming Kinesis event with Lambda using Java without batch item handling.", + "snippets": [ + { + "snippetPath": "Handler.java", + "language": "java" + } + ] } ] } @@ -72,6 +83,13 @@ "bio": "Cloud Application Architect at AWS", "linkedin": "mtomeh", "twitter": "mtomeh84" + }, + { + "headline": "Java Example Presented by Ananthan Rudran", + "name": "Ananthan Rudran", + "image": "https://pbs.twimg.com/profile_images/888727786797412352/DEZ1mRjs_400x400.jpg", + "bio": "Solutions Architect Architect at AWS", + "linkedin": "ananthanr" } ] }