Class SqsEventHandler

java.lang.Object
io.quarkus.funqy.lambda.event.sqs.SqsEventHandler
All Implemented Interfaces:
EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>

public class SqsEventHandler extends Object implements EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
  • Constructor Details

    • SqsEventHandler

      public SqsEventHandler()
  • Method Details

    • streamEvent

      public Stream<com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage> streamEvent(com.amazonaws.services.lambda.runtime.events.SQSEvent event, FunqyAmazonConfig amazonConfig)
      Description copied from interface: EventHandler
      Provides all messages from the event. Specially for events with multiple messages from a batch.
      Specified by:
      streamEvent in interface EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
      Parameters:
      event - event to provide messages from
      amazonConfig - config
      Returns:
      a stream of messages
    • getIdentifier

      public String getIdentifier(com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage message, FunqyAmazonConfig amazonConfig)
      Description copied from interface: EventHandler
      Get the identifier of a message.
      Specified by:
      getIdentifier in interface EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
      Parameters:
      message - message to extract the identifier from
      amazonConfig - config
      Returns:
      the identifier
    • getBody

      public Supplier<InputStream> getBody(com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage message, FunqyAmazonConfig amazonConfig)
      Description copied from interface: EventHandler
      Get the body of a message as an InputStream
      Specified by:
      getBody in interface EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
      Parameters:
      message - message to extract the body from
      amazonConfig - config
      Returns:
      the body input stream
    • createResponse

      public com.amazonaws.services.lambda.runtime.events.SQSBatchResponse createResponse(List<String> failures, FunqyAmazonConfig amazonConfig)
      Description copied from interface: EventHandler
      Create the response based on the collected failures.
      Specified by:
      createResponse in interface EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
      Parameters:
      failures - a list of message identifier, which failed
      amazonConfig - config
      Returns:
      the created response
    • getMessageClass

      public Class<com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage> getMessageClass()
      Description copied from interface: EventHandler
      The class of the message
      Specified by:
      getMessageClass in interface EventHandler<com.amazonaws.services.lambda.runtime.events.SQSEvent,com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage,com.amazonaws.services.lambda.runtime.events.SQSBatchResponse>
      Returns:
      the class of the message