cdk-athena-log
Version:
A CDK construct to create an Athena table for querying ALB logs.
36 lines (35 loc) • 1.25 kB
TypeScript
import { aws_glue as glue } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export interface AthenaTableForCloudFrontProps {
/**
* The name of the S3 bucket where the processed, Parquet-formatted CloudFront logs are stored.
*/
readonly logBucketName: string;
/**
* The name of the Glue database for this table.
*/
readonly databaseName: string;
/**
* The name for the Glue table.
*/
readonly tableName: string;
/**
* The start date for the partition projection, in 'YYYY/MM/DD' format.
*/
readonly projectionStartDate: string;
/**
* The prefix within the S3 bucket where the partitioned Parquet files are located.
* e.g., `s3://your-bucket/my-parquet-prefix/year=...`
* @default No prefix is used.
*/
readonly logPrefix?: string;
}
/**
* Creates a Glue table for querying Parquet-formatted, partitioned CloudFront logs.
* NOTE: This construct assumes an ETL process converts raw CloudFront logs into
* a partitioned Parquet format in S3.
*/
export declare class AthenaTableForCloudFront extends Construct {
readonly table: glue.CfnTable;
constructor(scope: Construct, id: string, props: AthenaTableForCloudFrontProps);
}