If you want to write a Lambda for AWS in Java that connects to S3. You need to have the handler.
Maven:
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk</artifactId>
- <version>1.11.109</version>
- </dependency>
This is the method that AWS Lambda will call. It will look similar to the one below.
- import com.amazonaws.services.lambda.runtime.Context;
- import com.amazonaws.services.lambda.runtime.events.S3Event;
- import com.amazonaws.services.s3.event.S3EventNotification.S3Entity;
- import com.amazonaws.services.s3.event.S3EventNotification.S3EventNotificationRecord;
- public void S3Handler(S3Event s3e, Context context) {
- final String awsRequestId = context.getAwsRequestId();
- final int memoryLimitMb = context.getMemoryLimitInMB();
- final int remainingTimeInMillis = context.getRemainingTimeInMillis();
- for (final S3EventNotificationRecord s3Rec : s3e.getRecords()) {
- final S3Entity record = s3Rec.getS3();
- final String bucketName = record.getBucket().getName()
- final String key = record.getObject().getKey();
- }
- }
The thing to note when you setup you Lambda is how to setup the “Handler” field in the “Configuration” section on AWS. It is in the format “##PACKAGE##.##CLASS##::##METHOD##”.
You must be logged in to post a comment.