Class CloudwatchRecordHandler
- java.lang.Object
-
- com.amazonaws.athena.connector.lambda.handlers.RecordHandler
-
- com.amazonaws.athena.connectors.cloudwatch.CloudwatchRecordHandler
-
- All Implemented Interfaces:
FederationRequestHandler,com.amazonaws.services.lambda.runtime.RequestStreamHandler
public class CloudwatchRecordHandler extends RecordHandler
Handles data read record requests for the Athena Cloudwatch Connector.For more detail, please see the module's README.md, some notable characteristics of this class include:
1. Reads and maps Cloudwatch Logs data for a specific LogStream (split) 2. Attempts to push down time range predicates into Cloudwatch.
-
-
Field Summary
-
Fields inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
configOptions
-
-
Constructor Summary
Constructors Modifier Constructor Description CloudwatchRecordHandler(Map<String,String> configOptions)protectedCloudwatchRecordHandler(software.amazon.awssdk.services.s3.S3Client amazonS3, software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager, software.amazon.awssdk.services.athena.AthenaClient athena, software.amazon.awssdk.services.cloudwatchlogs.CloudWatchLogsClient awsLogs, 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 Cloudwatch Logs using the LogStream and optional Time stamp filters.-
Methods inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
doHandleRequest, doReadRecords, getCachableSecretsManager, getRequestOverrideConfig, getSecret, getSpillConfig, handleRequest, onPing, resolveSecrets, resolveWithDefaultCredentials
-
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
getAthenaClient, getRequestOverrideConfig, getS3Client, getSessionCredentials
-
-
-
-
Constructor Detail
-
CloudwatchRecordHandler
protected CloudwatchRecordHandler(software.amazon.awssdk.services.s3.S3Client amazonS3, software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsManager, software.amazon.awssdk.services.athena.AthenaClient athena, software.amazon.awssdk.services.cloudwatchlogs.CloudWatchLogsClient awsLogs, Map<String,String> configOptions)
-
-
Method Detail
-
readWithConstraint
protected void readWithConstraint(BlockSpiller spiller, ReadRecordsRequest recordsRequest, QueryStatusChecker queryStatusChecker) throws TimeoutException, InterruptedException
Scans Cloudwatch Logs using the LogStream and optional Time stamp filters.- Specified by:
readWithConstraintin classRecordHandler- Parameters:
spiller- A BlockSpiller that should be used to write the row data associated with this Split. The BlockSpiller automatically handles chunking the response, encrypting, and spilling to S3.recordsRequest- Details of the read request, including: 1. The Split 2. The Catalog, Database, and Table the read request is for. 3. The filtering predicate (if any) 4. The columns required for projection.queryStatusChecker- A QueryStatusChecker that you can use to stop doing work for a query that has already terminated- Throws:
TimeoutExceptionInterruptedException- See Also:
RecordHandler
-
-