@Generated(value="jsii-pacmak/1.70.0 (build 03c2f6f)", date="2022-11-01T13:16:51.785Z") @Stability(value=Experimental) public interface DestinationS3BackupProps extends software.amazon.jsii.JsiiSerializable, CommonDestinationS3Props
S3 backup is available for all destinations, regardless of whether the final destination is S3 or not.
Example:
import path.*;
import software.amazon.awscdk.services.kinesisfirehose.*;
import software.amazon.awscdk.services.kms.*;
import software.amazon.awscdk.services.lambda.nodejs.*;
import software.amazon.awscdk.services.logs.*;
import software.amazon.awscdk.services.s3.*;
import software.amazon.awscdk.core.*;
import software.amazon.awscdk.core.*;
App app = new App();
Stack stack = new Stack(app, "aws-cdk-firehose-delivery-stream-s3-all-properties");
Bucket bucket = Bucket.Builder.create(stack, "Bucket")
.removalPolicy(RemovalPolicy.DESTROY)
.autoDeleteObjects(true)
.build();
Bucket backupBucket = Bucket.Builder.create(stack, "BackupBucket")
.removalPolicy(RemovalPolicy.DESTROY)
.autoDeleteObjects(true)
.build();
LogGroup logGroup = LogGroup.Builder.create(stack, "LogGroup")
.removalPolicy(RemovalPolicy.DESTROY)
.build();
NodejsFunction dataProcessorFunction = NodejsFunction.Builder.create(stack, "DataProcessorFunction")
.entry(join(__dirname, "lambda-data-processor.js"))
.timeout(Duration.minutes(1))
.build();
LambdaFunctionProcessor processor = LambdaFunctionProcessor.Builder.create(dataProcessorFunction)
.bufferInterval(Duration.seconds(60))
.bufferSize(Size.mebibytes(1))
.retries(1)
.build();
Key key = Key.Builder.create(stack, "Key")
.removalPolicy(RemovalPolicy.DESTROY)
.build();
Key backupKey = Key.Builder.create(stack, "BackupKey")
.removalPolicy(RemovalPolicy.DESTROY)
.build();
DeliveryStream.Builder.create(stack, "Delivery Stream")
.destinations(List.of(S3Bucket.Builder.create(bucket)
.logging(true)
.logGroup(logGroup)
.processor(processor)
.compression(Compression.GZIP)
.dataOutputPrefix("regularPrefix")
.errorOutputPrefix("errorPrefix")
.bufferingInterval(Duration.seconds(60))
.bufferingSize(Size.mebibytes(1))
.encryptionKey(key)
.s3Backup(DestinationS3BackupProps.builder()
.mode(BackupMode.ALL)
.bucket(backupBucket)
.compression(Compression.ZIP)
.dataOutputPrefix("backupPrefix")
.errorOutputPrefix("backupErrorPrefix")
.bufferingInterval(Duration.seconds(60))
.bufferingSize(Size.mebibytes(1))
.encryptionKey(backupKey)
.build())
.build()))
.build();
app.synth();
| Modifier and Type | Interface and Description |
|---|---|
static class |
DestinationS3BackupProps.Builder
A builder for
DestinationS3BackupProps |
static class |
DestinationS3BackupProps.Jsii$Proxy
An implementation for
DestinationS3BackupProps |
| Modifier and Type | Method and Description |
|---|---|
static DestinationS3BackupProps.Builder |
builder() |
default IBucket |
getBucket()
(experimental) The S3 bucket that will store data and failed records.
|
default Boolean |
getLogging()
(experimental) If true, log errors when data transformation or data delivery fails.
|
default ILogGroup |
getLogGroup()
(experimental) The CloudWatch log group where log streams will be created to hold error logs.
|
default BackupMode |
getMode()
(experimental) Indicates the mode by which incoming records should be backed up to S3, if any.
|
getBufferingInterval, getBufferingSize, getCompression, getDataOutputPrefix, getEncryptionKey, getErrorOutputPrefix@Stability(value=Experimental) @Nullable default IBucket getBucket()
Default: - If `mode` is set to `BackupMode.ALL` or `BackupMode.FAILED`, a bucket will be created for you.
@Stability(value=Experimental) @Nullable default Boolean getLogging()
If logGroup is provided, this will be implicitly set to true.
Default: true - errors are logged.
@Stability(value=Experimental) @Nullable default ILogGroup getLogGroup()
Default: - if `logging` is set to `true`, a log group will be created for you.
@Stability(value=Experimental) @Nullable default BackupMode getMode()
If bucket is provided, this will be implicitly set to BackupMode.ALL.
Default: - If `bucket` is provided, the default will be `BackupMode.ALL`. Otherwise, source records are not backed up to S3.
@Stability(value=Experimental) static DestinationS3BackupProps.Builder builder()
builder in interface CommonDestinationS3PropsDestinationS3BackupProps.Builder of DestinationS3BackupPropsCopyright © 2022. All rights reserved.