aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
49 lines (48 loc) • 1.82 kB
TypeScript
import type { Construct } from 'constructs';
import type { DataProcessorBindOptions, DataProcessorConfig, DataProcessorProps, IDataProcessor } from '../processor';
/**
* Props for RecordDeAggregationProcessor
*/
export interface RecordDeAggregationProcessorOptions {
/**
* The sub-record type to deaggregate input records.
*/
readonly subRecordType: SubRecordType;
/**
* The custom delimiter when subRecordType is DELIMITED. Must be specified in the base64-encoded format.
* @default - No delimiter
*/
readonly delimiter?: string;
}
/**
* The sub-record type to deaggregate input records.
*/
export declare enum SubRecordType {
/** The records are JSON objects on a single line with no delimiter or newline-delimited (JSONL). */
JSON = "JSON",
/** The records are delimited by a custom delimiter. */
DELIMITED = "DELIMITED"
}
/**
* The data processor for multi record deaggrecation.
*
* Record deaggregation by JSON or by delimiter is capped at 500 per record.
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning-multirecord-deaggergation.html
*/
export declare class RecordDeAggregationProcessor implements IDataProcessor {
private readonly options;
/**
* Perform deaggregation from JSON objects on a single line with no delimiter or newline-delimited (JSONL).
*/
static json(): RecordDeAggregationProcessor;
/**
* Perform deaggregation based on a specified custom delimiter.
*
* @param delimiter The custom delimiter.
*/
static delimited(delimiter: string): RecordDeAggregationProcessor;
readonly props: DataProcessorProps;
constructor(options: RecordDeAggregationProcessorOptions);
bind(scope: Construct, options: DataProcessorBindOptions): DataProcessorConfig;
}