Package io.aws.lambda.events.s3
Class S3ObjectLambdaEvent
- java.lang.Object
-
- io.aws.lambda.events.s3.S3ObjectLambdaEvent
-
public class S3ObjectLambdaEvent extends java.lang.ObjectEvent to allow transformations to occur before an S3 object is returned to the calling service. Documentation Writing and debugging Lambda functions for S3 Object Lambda Access Points Example:import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.S3ObjectLambdaEvent; import org.apache.http.client.fluent.Request; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.WriteGetObjectResponseRequest; import java.io.IOException; import static software.amazon.awssdk.core.sync.RequestBody.fromString; public class S3ObjectRequestHandler { private static final S3Client s3Client = S3Client.create(); public void handleRequest(S3ObjectLambdaEvent event, Context context) throws IOException { String s3Body = Request.Get(event.inputS3Url()).execute().returnContent().asString(); String responseBody = s3Body.toUpperCase(); WriteGetObjectResponseRequest request = WriteGetObjectResponseRequest.builder() .requestRoute(event.outputRoute()) .requestToken(event.outputToken()) .build(); s3Client.writeGetObjectResponse(request, fromString(responseBody)); } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classS3ObjectLambdaEvent.Configurationstatic classS3ObjectLambdaEvent.GetObjectContextstatic classS3ObjectLambdaEvent.UserIdentitystatic classS3ObjectLambdaEvent.UserRequest
-
Constructor Summary
Constructors Constructor Description S3ObjectLambdaEvent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringinputS3Url()A pre-signed URL that can be used to fetch the original object from Amazon S3.java.lang.StringoutputRoute()A routing token that is added to the S3 Object Lambda URL when the Lambda function calls the S3 API WriteGetObjectResponse.java.lang.StringoutputToken()An opaque token used by S3 Object Lambda to match the WriteGetObjectResponse call with the original caller.
-
-
-
Method Detail
-
inputS3Url
public java.lang.String inputS3Url()
A pre-signed URL that can be used to fetch the original object from Amazon S3. The URL is signed using the original caller's identity, and their permissions will apply when the URL is used. If there are signed headers in the URL, the Lambda function must include these in the call to Amazon S3, except for the Host.- Returns:
- A pre-signed URL that can be used to fetch the original object from Amazon S3.
-
outputRoute
public java.lang.String outputRoute()
A routing token that is added to the S3 Object Lambda URL when the Lambda function calls the S3 API WriteGetObjectResponse.- Returns:
- the outputRoute
-
outputToken
public java.lang.String outputToken()
An opaque token used by S3 Object Lambda to match the WriteGetObjectResponse call with the original caller.- Returns:
- the outputToken
-
-