Class EventDeserializer

java.lang.Object
software.amazon.lambda.powertools.utilities.EventDeserializer

public class EventDeserializer extends Object
Class that can be used to extract the meaningful part of an event and deserialize it into a Java object.
For example, extract the body of an API Gateway event, or messages from an SQS event.
  • Constructor Details

    • EventDeserializer

      public EventDeserializer()
  • Method Details

    • extractDataFrom

      public static EventDeserializer.EventPart extractDataFrom(Object object)
      Extract the meaningful part of a Lambda Event object. Main events are built-in:
      • APIGatewayProxyRequestEvent -> body
      • APIGatewayV2HTTPEvent -> body
      • SNSEvent -> Records[0].Sns.Message
      • SQSEvent -> Records[*].body (list)
      • ScheduledEvent -> detail
      • ApplicationLoadBalancerRequestEvent -> body
      • CloudWatchLogsEvent -> powertools_base64_gzip(data)
      • CloudFormationCustomResourceEvent -> resourceProperties
      • KinesisEvent -> Records[*].kinesis.powertools_base64(data) (list)
      • KinesisFirehoseEvent -> Records[*].powertools_base64(data) (list)
      • KafkaEvent -> records[*].values[*].powertools_base64(value) (list)
      • ActiveMQEvent -> messages[*].powertools_base64(data) (list)
      • RabbitMQEvent -> rmqMessagesByQueue[*].values[*].powertools_base64(data) (list)
      • KinesisAnalyticsFirehoseInputPreprocessingEvent -> Records[*].kinesis.powertools_base64(data) (list)
      • KinesisAnalyticsStreamsInputPreprocessingEvent > Records[*].kinesis.powertools_base64(data) (list)
      • String
      • Map
      To be used in conjunction with EventDeserializer.EventPart.as(Class) or EventDeserializer.EventPart.asListOf(Class) for the deserialization.
      Parameters:
      object - the event of your Lambda function handler method
      Returns:
      the part of the event which is meaningful (ex: body of the API Gateway).