Interface CfnDeliveryStream.RedshiftDestinationConfigurationProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnDeliveryStream.RedshiftDestinationConfigurationProperty.Jsii$Proxy
Enclosing class:
CfnDeliveryStream

@Stability(Stable) public static interface CfnDeliveryStream.RedshiftDestinationConfigurationProperty extends software.amazon.jsii.JsiiSerializable
The RedshiftDestinationConfiguration property type specifies an Amazon Redshift cluster to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.kinesisfirehose.*;
 RedshiftDestinationConfigurationProperty redshiftDestinationConfigurationProperty = RedshiftDestinationConfigurationProperty.builder()
         .clusterJdbcurl("clusterJdbcurl")
         .copyCommand(CopyCommandProperty.builder()
                 .dataTableName("dataTableName")
                 // the properties below are optional
                 .copyOptions("copyOptions")
                 .dataTableColumns("dataTableColumns")
                 .build())
         .password("password")
         .roleArn("roleArn")
         .s3Configuration(S3DestinationConfigurationProperty.builder()
                 .bucketArn("bucketArn")
                 .roleArn("roleArn")
                 // the properties below are optional
                 .bufferingHints(BufferingHintsProperty.builder()
                         .intervalInSeconds(123)
                         .sizeInMBs(123)
                         .build())
                 .cloudWatchLoggingOptions(CloudWatchLoggingOptionsProperty.builder()
                         .enabled(false)
                         .logGroupName("logGroupName")
                         .logStreamName("logStreamName")
                         .build())
                 .compressionFormat("compressionFormat")
                 .encryptionConfiguration(EncryptionConfigurationProperty.builder()
                         .kmsEncryptionConfig(KMSEncryptionConfigProperty.builder()
                                 .awskmsKeyArn("awskmsKeyArn")
                                 .build())
                         .noEncryptionConfig("noEncryptionConfig")
                         .build())
                 .errorOutputPrefix("errorOutputPrefix")
                 .prefix("prefix")
                 .build())
         .username("username")
         // the properties below are optional
         .cloudWatchLoggingOptions(CloudWatchLoggingOptionsProperty.builder()
                 .enabled(false)
                 .logGroupName("logGroupName")
                 .logStreamName("logStreamName")
                 .build())
         .processingConfiguration(ProcessingConfigurationProperty.builder()
                 .enabled(false)
                 .processors(List.of(ProcessorProperty.builder()
                         .type("type")
                         // the properties below are optional
                         .parameters(List.of(ProcessorParameterProperty.builder()
                                 .parameterName("parameterName")
                                 .parameterValue("parameterValue")
                                 .build()))
                         .build()))
                 .build())
         .retryOptions(RedshiftRetryOptionsProperty.builder()
                 .durationInSeconds(123)
                 .build())
         .s3BackupConfiguration(S3DestinationConfigurationProperty.builder()
                 .bucketArn("bucketArn")
                 .roleArn("roleArn")
                 // the properties below are optional
                 .bufferingHints(BufferingHintsProperty.builder()
                         .intervalInSeconds(123)
                         .sizeInMBs(123)
                         .build())
                 .cloudWatchLoggingOptions(CloudWatchLoggingOptionsProperty.builder()
                         .enabled(false)
                         .logGroupName("logGroupName")
                         .logStreamName("logStreamName")
                         .build())
                 .compressionFormat("compressionFormat")
                 .encryptionConfiguration(EncryptionConfigurationProperty.builder()
                         .kmsEncryptionConfig(KMSEncryptionConfigProperty.builder()
                                 .awskmsKeyArn("awskmsKeyArn")
                                 .build())
                         .noEncryptionConfig("noEncryptionConfig")
                         .build())
                 .errorOutputPrefix("errorOutputPrefix")
                 .prefix("prefix")
                 .build())
         .s3BackupMode("s3BackupMode")
         .build();
 
  • Method Details

    • getClusterJdbcurl

      @Stability(Stable) @NotNull String getClusterJdbcurl()
      The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster.
    • getCopyCommand

      @Stability(Stable) @NotNull Object getCopyCommand()
      Configures the Amazon Redshift COPY command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket.
    • getPassword

      @Stability(Stable) @NotNull String getPassword()
      The password for the Amazon Redshift user that you specified in the Username property.
    • getRoleArn

      @Stability(Stable) @NotNull String getRoleArn()
      The ARN of the AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption).

      For more information, see Grant Kinesis Data Firehose Access to an Amazon Redshift Destination in the Amazon Kinesis Data Firehose Developer Guide .

    • getS3Configuration

      @Stability(Stable) @NotNull Object getS3Configuration()
      The S3 bucket where Kinesis Data Firehose first delivers data.

      After the data is in the bucket, Kinesis Data Firehose uses the COPY command to load the data into the Amazon Redshift cluster. For the Amazon S3 bucket's compression format, don't specify SNAPPY or ZIP because the Amazon Redshift COPY command doesn't support them.

    • getUsername

      @Stability(Stable) @NotNull String getUsername()
      The Amazon Redshift user that has permission to access the Amazon Redshift cluster.

      This user must have INSERT privileges for copying data from the Amazon S3 bucket to the cluster.

    • getCloudWatchLoggingOptions

      @Stability(Stable) @Nullable default Object getCloudWatchLoggingOptions()
      The CloudWatch logging options for your delivery stream.
    • getProcessingConfiguration

      @Stability(Stable) @Nullable default Object getProcessingConfiguration()
      The data processing configuration for the Kinesis Data Firehose delivery stream.
    • getRetryOptions

      @Stability(Stable) @Nullable default Object getRetryOptions()
      The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift.

      Default value is 3600 (60 minutes).

    • getS3BackupConfiguration

      @Stability(Stable) @Nullable default Object getS3BackupConfiguration()
      The configuration for backup in Amazon S3.
    • getS3BackupMode

      @Stability(Stable) @Nullable default String getS3BackupMode()
      The Amazon S3 backup mode.

      After you create a delivery stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the delivery stream to disable it.

    • builder

      Returns:
      a CfnDeliveryStream.RedshiftDestinationConfigurationProperty.Builder of CfnDeliveryStream.RedshiftDestinationConfigurationProperty