Class DocDBRecordHandler

  • All Implemented Interfaces:
    FederationRequestHandler, com.amazonaws.services.lambda.runtime.RequestStreamHandler

    public class DocDBRecordHandler
    extends RecordHandler
    Handles data read record requests for the Athena DocumentDB Connector.

    For more detail, please see the module's README.md, some notable characteristics of this class include:

    1. Attempts to resolve sensitive configuration fields such as HBase connection string via SecretsManager so that you can substitute variables with values from by doing something like hostname:port:password=${my_secret}

    • Constructor Detail

      • DocDBRecordHandler

        public DocDBRecordHandler​(Map<String,​String> configOptions)
      • DocDBRecordHandler

        protected DocDBRecordHandler​(software.amazon.awssdk.services.s3.S3Client amazonS3,
                                     software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager,
                                     software.amazon.awssdk.services.athena.AthenaClient athena,
                                     DocDBConnectionFactory connectionFactory,
                                     Map<String,​String> configOptions)
    • Method Detail

      • readWithConstraint

        protected void readWithConstraint​(BlockSpiller spiller,
                                          ReadRecordsRequest recordsRequest,
                                          QueryStatusChecker queryStatusChecker)
        Scans DocumentDB using the scan settings set on the requested Split by DocDBMetadataHandler. This method delegates to specific query execution methods based on query type.
        Specified by:
        readWithConstraint in class RecordHandler
        Parameters:
        spiller - The BlockSpiller to write results to
        recordsRequest - The ReadRecordsRequest containing query details and constraints
        queryStatusChecker - Used to check if the query is still running
        See Also:
        RecordHandler