package awscdkkinesisfirehosealpha import ( _init_ "github.com/aws/aws-cdk-go/awscdkkinesisfirehosealpha/v2/jsii" _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2/awslambda" "github.com/aws/constructs-go/constructs/v10" ) // Use an AWS Lambda function to transform records. // // Example: // var bucket bucket // // Provide a Lambda function that will transform records before delivery, with custom // // buffering and retry configuration // lambdaFunction := lambda.NewFunction(this, jsii.String("Processor"), &FunctionProps{ // Runtime: lambda.Runtime_NODEJS_14_X(), // Handler: jsii.String("index.handler"), // Code: lambda.Code_FromAsset(path.join(__dirname, jsii.String("process-records"))), // }) // lambdaProcessor := firehose.NewLambdaFunctionProcessor(lambdaFunction, &DataProcessorProps{ // BufferInterval: awscdk.Duration_Minutes(jsii.Number(5)), // BufferSize: awscdk.Size_Mebibytes(jsii.Number(5)), // Retries: jsii.Number(5), // }) // s3Destination := destinations.NewS3Bucket(bucket, &S3BucketProps{ // Processor: lambdaProcessor, // }) // firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{ // Destinations: []iDestination{ // s3Destination, // }, // }) // // Experimental. type LambdaFunctionProcessor interface { IDataProcessor // The constructor props of the LambdaFunctionProcessor. // Experimental. Props() *DataProcessorProps // Binds this processor to a destination of a delivery stream. // // Implementers should use this method to grant processor invocation permissions to the provided stream and return the // necessary configuration to register as a processor. // Experimental. Bind(_scope constructs.Construct, options *DataProcessorBindOptions) *DataProcessorConfig } // The jsii proxy struct for LambdaFunctionProcessor type jsiiProxy_LambdaFunctionProcessor struct { jsiiProxy_IDataProcessor } func (j *jsiiProxy_LambdaFunctionProcessor) Props() *DataProcessorProps { var returns *DataProcessorProps _jsii_.Get( j, "props", &returns, ) return returns } // Experimental. func NewLambdaFunctionProcessor(lambdaFunction awslambda.IFunction, props *DataProcessorProps) LambdaFunctionProcessor { _init_.Initialize() if err := validateNewLambdaFunctionProcessorParameters(lambdaFunction, props); err != nil { panic(err) } j := jsiiProxy_LambdaFunctionProcessor{} _jsii_.Create( "@aws-cdk/aws-kinesisfirehose-alpha.LambdaFunctionProcessor", []interface{}{lambdaFunction, props}, &j, ) return &j } // Experimental. func NewLambdaFunctionProcessor_Override(l LambdaFunctionProcessor, lambdaFunction awslambda.IFunction, props *DataProcessorProps) { _init_.Initialize() _jsii_.Create( "@aws-cdk/aws-kinesisfirehose-alpha.LambdaFunctionProcessor", []interface{}{lambdaFunction, props}, l, ) } func (l *jsiiProxy_LambdaFunctionProcessor) Bind(_scope constructs.Construct, options *DataProcessorBindOptions) *DataProcessorConfig { if err := l.validateBindParameters(_scope, options); err != nil { panic(err) } var returns *DataProcessorConfig _jsii_.Invoke( l, "bind", []interface{}{_scope, options}, &returns, ) return returns }