Class: AWSCDK::S3Tables::CfnTable::IcebergSchemaV2Property

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3_tables/cfn_table.rb

Overview

Contains details about the schema version 2 (V2) for an Iceberg table that supports Apache Iceberg Nested Types (struct, list, map).

Primitive types are also supported.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema_v2_field_list:, schema_v2_field_type:, identifier_field_ids: nil, schema_id: nil) ⇒ IcebergSchemaV2Property

Returns a new instance of IcebergSchemaV2Property.

Parameters:



927
928
929
930
931
932
933
934
935
936
# File 's3_tables/cfn_table.rb', line 927

def initialize(schema_v2_field_list:, schema_v2_field_type:, identifier_field_ids: nil, schema_id: nil)
  @schema_v2_field_list = schema_v2_field_list
  Jsii::Type.check_type(@schema_v2_field_list, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczN0YWJsZXMuQ2ZuVGFibGUuU2NoZW1hVjJGaWVsZFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "schemaV2FieldList")
  @schema_v2_field_type = schema_v2_field_type
  Jsii::Type.check_type(@schema_v2_field_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "schemaV2FieldType")
  @identifier_field_ids = identifier_field_ids
  Jsii::Type.check_type(@identifier_field_ids, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siY29sbGVjdGlvbiI6eyJlbGVtZW50dHlwZSI6eyJwcmltaXRpdmUiOiJudW1iZXIifSwia2luZCI6ImFycmF5In19LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "identifierFieldIds") unless @identifier_field_ids.nil?
  @schema_id = schema_id
  Jsii::Type.check_type(@schema_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "schemaId") unless @schema_id.nil?
end

Instance Attribute Details

#identifier_field_idsArray<Numeric>, ... (readonly)

A list of field IDs that are used as the identifier fields for the table.

Identifier fields uniquely identify a row in the table.



954
955
956
# File 's3_tables/cfn_table.rb', line 954

def identifier_field_ids
  @identifier_field_ids
end

#schema_idNumeric? (readonly)

An optional unique identifier for the schema.



959
960
961
# File 's3_tables/cfn_table.rb', line 959

def schema_id
  @schema_id
end

#schema_v2_field_listAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::S3Tables::CfnTable::SchemaV2FieldProperty> (readonly)

List of schema fields that support nested types.



942
943
944
# File 's3_tables/cfn_table.rb', line 942

def schema_v2_field_list
  @schema_v2_field_list
end

#schema_v2_field_typeString (readonly)

The type of the top-level schema, which is always 'struct'.



947
948
949
# File 's3_tables/cfn_table.rb', line 947

def schema_v2_field_type
  @schema_v2_field_type
end

Class Method Details

.jsii_propertiesObject



961
962
963
964
965
966
967
968
# File 's3_tables/cfn_table.rb', line 961

def self.jsii_properties
  {
    :schema_v2_field_list => "schemaV2FieldList",
    :schema_v2_field_type => "schemaV2FieldType",
    :identifier_field_ids => "identifierFieldIds",
    :schema_id => "schemaId",
  }
end

Instance Method Details

#to_jsiiObject



970
971
972
973
974
975
976
977
978
979
# File 's3_tables/cfn_table.rb', line 970

def to_jsii
  result = {}
  result.merge!({
    "schemaV2FieldList" => @schema_v2_field_list,
    "schemaV2FieldType" => @schema_v2_field_type,
    "identifierFieldIds" => @identifier_field_ids,
    "schemaId" => @schema_id,
  })
  result.compact
end