@punchcard/data-lake
Version:
Data Lake Construct
19 lines • 923 B
TypeScript
import { TypeShape } from '@punchcard/shape';
import { ElasticSearch, Glue, Kinesis, S3 } from 'punchcard';
import { IndexSettings } from 'punchcard/lib/elasticsearch';
import type { DataLake } from './data-lake';
import { Period } from './period';
import { Schema } from './schema';
export interface DataPipelineProps<T extends TypeShape, TS extends keyof T['Members'], ID extends keyof T['Members']> {
schema: Schema<T, TS, ID>;
indexSettings?: IndexSettings;
}
export declare class DataPipeline<T extends TypeShape, TS extends keyof T['Members'], ID extends keyof T['Members']> {
readonly dataLake: DataLake;
readonly bucket: S3.Bucket;
readonly stream: Kinesis.Stream<T>;
readonly table: Glue.Table<T, Period.PT1M>;
readonly index: ElasticSearch.Index<T, ID>;
constructor(dataLake: DataLake, id: string, props: DataPipelineProps<T, TS, ID>);
}
//# sourceMappingURL=data-pipeline.d.ts.map