BackupMode
- class aws_cdk.aws_kinesisfirehose_destinations.BackupMode(value)
Bases:
Enum
(experimental) Options for S3 record backup of a delivery stream.
- Stability:
experimental
- ExampleMetadata:
lit=../aws-kinesisfirehose-destinations/test/integ.s3-bucket.lit.ts infused
Example:
import path as path import aws_cdk.aws_kinesisfirehose as firehose import aws_cdk.aws_kms as kms import aws_cdk.aws_lambda_nodejs as lambdanodejs import aws_cdk.aws_logs as logs import aws_cdk.aws_s3 as s3 import aws_cdk.core as cdk import aws_cdk.aws_kinesisfirehose_destinations as destinations app = cdk.App() stack = cdk.Stack(app, "aws-cdk-firehose-delivery-stream-s3-all-properties") bucket = s3.Bucket(stack, "Bucket", removal_policy=cdk.RemovalPolicy.DESTROY, auto_delete_objects=True ) backup_bucket = s3.Bucket(stack, "BackupBucket", removal_policy=cdk.RemovalPolicy.DESTROY, auto_delete_objects=True ) log_group = logs.LogGroup(stack, "LogGroup", removal_policy=cdk.RemovalPolicy.DESTROY ) data_processor_function = lambdanodejs.NodejsFunction(stack, "DataProcessorFunction", entry=path.join(__dirname, "lambda-data-processor.js"), timeout=cdk.Duration.minutes(1) ) processor = firehose.LambdaFunctionProcessor(data_processor_function, buffer_interval=cdk.Duration.seconds(60), buffer_size=cdk.Size.mebibytes(1), retries=1 ) key = kms.Key(stack, "Key", removal_policy=cdk.RemovalPolicy.DESTROY ) backup_key = kms.Key(stack, "BackupKey", removal_policy=cdk.RemovalPolicy.DESTROY ) firehose.DeliveryStream(stack, "Delivery Stream", destinations=[destinations.S3Bucket(bucket, logging=True, log_group=log_group, processor=processor, compression=destinations.Compression.GZIP, data_output_prefix="regularPrefix", error_output_prefix="errorPrefix", buffering_interval=cdk.Duration.seconds(60), buffering_size=cdk.Size.mebibytes(1), encryption_key=key, s3_backup=destinations.DestinationS3BackupProps( mode=destinations.BackupMode.ALL, bucket=backup_bucket, compression=destinations.Compression.ZIP, data_output_prefix="backupPrefix", error_output_prefix="backupErrorPrefix", buffering_interval=cdk.Duration.seconds(60), buffering_size=cdk.Size.mebibytes(1), encryption_key=backup_key ) )] ) app.synth()
Attributes
- ALL
(experimental) All records are backed up.
- Stability:
experimental
- FAILED
(experimental) Only records that failed to deliver or transform are backed up.
- Stability:
experimental