Class DocDBRecordHandler
- java.lang.Object
-
- com.amazonaws.athena.connector.lambda.handlers.RecordHandler
-
- com.amazonaws.athena.connectors.docdb.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}
-
-
Field Summary
-
Fields inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
configOptions
-
-
Constructor Summary
Constructors Modifier Constructor Description DocDBRecordHandler(Map<String,String> configOptions)protectedDocDBRecordHandler(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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidreadWithConstraint(BlockSpiller spiller, ReadRecordsRequest recordsRequest, QueryStatusChecker queryStatusChecker)Scans DocumentDB using the scan settings set on the requested Split by DocDBMetadataHandler.-
Methods inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
doHandleRequest, doReadRecords, getCachableSecretsManager, getKmsEncryptionProvider, getSpillConfig, handleRequest, onPing
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.amazonaws.athena.connector.lambda.handlers.FederationRequestHandler
createCredentialsProvider, getAthenaClient, getCredentialProvider, getCredentialProvider, getDatabaseConnectionSecret, getRequestOverrideConfig, getRequestOverrideConfig, getRequestOverrideConfig, getS3Client, getSecret, getSecret, getSessionCredentials, isRequestFederated, resolveSecrets, resolveWithDefaultCredentials
-
-
-
-
Constructor Detail
-
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:
readWithConstraintin classRecordHandler- Parameters:
spiller- The BlockSpiller to write results torecordsRequest- The ReadRecordsRequest containing query details and constraintsqueryStatusChecker- Used to check if the query is still running- See Also:
RecordHandler
-
-