Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::DestinationTableConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_firehose/cfn_delivery_stream.rb

Overview

Describes the configuration of a destination in Apache Iceberg Tables.

This section is only needed for tables where you want to update or delete data.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination_database_name:, destination_table_name:, partition_spec: nil, s3_error_output_prefix: nil, unique_keys: nil) ⇒ DestinationTableConfigurationProperty

Returns a new instance of DestinationTableConfigurationProperty.

Parameters:

  • destination_database_name (String)

    The name of the Apache Iceberg database.

  • destination_table_name (String)

    Specifies the name of the Apache Iceberg Table.

  • partition_spec (AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::PartitionSpecProperty, nil) (defaults to: nil)

    The partition spec configuration for a table that is used by automatic table creation.

  • s3_error_output_prefix (String, nil) (defaults to: nil)

    The table specific S3 error output prefix.

  • unique_keys (Array<String>, nil) (defaults to: nil)

    A list of unique keys for a given Apache Iceberg table.



2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2037

def initialize(destination_database_name:, destination_table_name:, partition_spec: nil, s3_error_output_prefix: nil, unique_keys: nil)
  @destination_database_name = destination_database_name
  Jsii::Type.check_type(@destination_database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationDatabaseName")
  @destination_table_name = destination_table_name
  Jsii::Type.check_type(@destination_table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationTableName")
  @partition_spec = partition_spec.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::PartitionSpecProperty.new(**partition_spec.transform_keys(&:to_sym)) : partition_spec
  Jsii::Type.check_type(@partition_spec, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUGFydGl0aW9uU3BlY1Byb3BlcnR5In1dfX0=")), "partitionSpec") unless @partition_spec.nil?
  @s3_error_output_prefix = s3_error_output_prefix
  Jsii::Type.check_type(@s3_error_output_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3ErrorOutputPrefix") unless @s3_error_output_prefix.nil?
  @unique_keys = unique_keys
  Jsii::Type.check_type(@unique_keys, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "uniqueKeys") unless @unique_keys.nil?
end

Instance Attribute Details

#destination_database_nameString (readonly)

The name of the Apache Iceberg database.



2054
2055
2056
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2054

def destination_database_name
  @destination_database_name
end

#destination_table_nameString (readonly)

Specifies the name of the Apache Iceberg Table.



2059
2060
2061
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2059

def destination_table_name
  @destination_table_name
end

#partition_specAWSCDK::IResolvable, ... (readonly)

The partition spec configuration for a table that is used by automatic table creation.

Amazon Data Firehose is in preview release and is subject to change.



2066
2067
2068
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2066

def partition_spec
  @partition_spec
end

#s3_error_output_prefixString? (readonly)

The table specific S3 error output prefix.

All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.



2073
2074
2075
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2073

def s3_error_output_prefix
  @s3_error_output_prefix
end

#unique_keysArray<String>? (readonly)

A list of unique keys for a given Apache Iceberg table.

Firehose will use these for running Create, Update, or Delete operations on the given Iceberg table.



2080
2081
2082
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2080

def unique_keys
  @unique_keys
end

Class Method Details

.jsii_propertiesObject



2082
2083
2084
2085
2086
2087
2088
2089
2090
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2082

def self.jsii_properties
  {
    :destination_database_name => "destinationDatabaseName",
    :destination_table_name => "destinationTableName",
    :partition_spec => "partitionSpec",
    :s3_error_output_prefix => "s3ErrorOutputPrefix",
    :unique_keys => "uniqueKeys",
  }
end

Instance Method Details

#to_jsiiObject



2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2092

def to_jsii
  result = {}
  result.merge!({
    "destinationDatabaseName" => @destination_database_name,
    "destinationTableName" => @destination_table_name,
    "partitionSpec" => @partition_spec,
    "s3ErrorOutputPrefix" => @s3_error_output_prefix,
    "uniqueKeys" => @unique_keys,
  })
  result.compact
end