Show / Hide Table of Contents

Class S3BucketProps

(experimental) Props for defining an S3 destination of a Kinesis Data Firehose delivery stream.

Inheritance
System.Object
S3BucketProps
Implements
IS3BucketProps
ICommonDestinationS3Props
ICommonDestinationProps
Namespace: Amazon.CDK.AWS.KinesisFirehose.Destinations
Assembly: Amazon.CDK.AWS.KinesisFirehose.Destinations.dll
Syntax (csharp)
public class S3BucketProps : Object, IS3BucketProps, ICommonDestinationS3Props, ICommonDestinationProps
Syntax (vb)
Public Class S3BucketProps
    Inherits Object
    Implements IS3BucketProps, ICommonDestinationS3Props, ICommonDestinationProps
Remarks

Stability: Experimental

ExampleMetadata: infused

Examples
Bucket bucket;
// Provide a Lambda function that will transform records before delivery, with custom
// buffering and retry configuration
var lambdaFunction = new Function(this, "Processor", new FunctionProps {
    Runtime = Runtime.NODEJS_14_X,
    Handler = "index.handler",
    Code = Code.FromAsset(Join(__dirname, "process-records"))
});
var lambdaProcessor = new LambdaFunctionProcessor(lambdaFunction, new DataProcessorProps {
    BufferInterval = Duration.Minutes(5),
    BufferSize = Size.Mebibytes(5),
    Retries = 5
});
var s3Destination = new S3Bucket(bucket, new S3BucketProps {
    Processor = lambdaProcessor
});
new DeliveryStream(this, "Delivery Stream", new DeliveryStreamProps {
    Destinations = new [] { s3Destination }
});

Synopsis

Constructors

S3BucketProps()

Properties

BufferingInterval

(experimental) The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.

BufferingSize

(experimental) The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.

Compression

(experimental) The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.

DataOutputPrefix

(experimental) A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.

EncryptionKey

(experimental) The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.

ErrorOutputPrefix

(experimental) A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.

Logging

(experimental) If true, log errors when data transformation or data delivery fails.

LogGroup

(experimental) The CloudWatch log group where log streams will be created to hold error logs.

Processor

(experimental) The data transformation that should be performed on the data before writing to the destination.

Role

(experimental) The IAM role associated with this destination.

S3Backup

(experimental) The configuration for backing up source records to S3.

Constructors

S3BucketProps()

public S3BucketProps()

Properties

BufferingInterval

(experimental) The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.

public Duration BufferingInterval { get; set; }
Property Value

Duration

Remarks

Minimum: Duration.seconds(60) Maximum: Duration.seconds(900)

Default: Duration.seconds(300)

Stability: Experimental

BufferingSize

(experimental) The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.

public Size BufferingSize { get; set; }
Property Value

Size

Remarks

Minimum: Size.mebibytes(1) Maximum: Size.mebibytes(128)

Default: Size.mebibytes(5)

Stability: Experimental

Compression

(experimental) The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.

public Compression Compression { get; set; }
Property Value

Compression

Remarks

The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

Default: - UNCOMPRESSED

Stability: Experimental

DataOutputPrefix

(experimental) A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.

public string DataOutputPrefix { get; set; }
Property Value

System.String

Remarks

This prefix appears immediately following the bucket name.

Default: "YYYY/MM/DD/HH"

Stability: Experimental

See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html

EncryptionKey

(experimental) The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.

public IKey EncryptionKey { get; set; }
Property Value

IKey

Remarks

Default: - Data is not encrypted.

Stability: Experimental

ErrorOutputPrefix

(experimental) A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.

public string ErrorOutputPrefix { get; set; }
Property Value

System.String

Remarks

This prefix appears immediately following the bucket name.

Default: "YYYY/MM/DD/HH"

Stability: Experimental

See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html

Logging

(experimental) If true, log errors when data transformation or data delivery fails.

public Nullable<bool> Logging { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

If logGroup is provided, this will be implicitly set to true.

Default: true - errors are logged.

Stability: Experimental

LogGroup

(experimental) The CloudWatch log group where log streams will be created to hold error logs.

public ILogGroup LogGroup { get; set; }
Property Value

ILogGroup

Remarks

Default: - if logging is set to true, a log group will be created for you.

Stability: Experimental

Processor

(experimental) The data transformation that should be performed on the data before writing to the destination.

public IDataProcessor Processor { get; set; }
Property Value

IDataProcessor

Remarks

Default: - no data transformation will occur.

Stability: Experimental

Role

(experimental) The IAM role associated with this destination.

public IRole Role { get; set; }
Property Value

IRole

Remarks

Assumed by Kinesis Data Firehose to invoke processors and write to destinations

Default: - a role will be created with default permissions.

Stability: Experimental

S3Backup

(experimental) The configuration for backing up source records to S3.

public IDestinationS3BackupProps S3Backup { get; set; }
Property Value

IDestinationS3BackupProps

Remarks

Default: - source records will not be backed up to S3.

Stability: Experimental

Implements

IS3BucketProps
ICommonDestinationS3Props
ICommonDestinationProps
Back to top Generated by DocFX