Class: AWSCDK::DMS::CfnEndpoint::KinesisSettingsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dms/cfn_endpoint.rb

Overview

Provides information that describes an Amazon Kinesis Data Stream endpoint.

This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For more information about other available settings, see Using object mapping to migrate data to a Kinesis data stream in the AWS Database Migration Service User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(include_control_details: nil, include_null_and_empty: nil, include_partition_value: nil, include_table_alter_operations: nil, include_transaction_details: nil, message_format: nil, no_hex_prefix: nil, partition_include_schema_table: nil, service_access_role_arn: nil, stream_arn: nil) ⇒ KinesisSettingsProperty

Returns a new instance of KinesisSettingsProperty.

Parameters:

  • include_control_details (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output.

  • include_null_and_empty (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Include NULL and empty columns for records migrated to the endpoint.

  • include_partition_value (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Shows the partition value within the Kinesis message output, unless the partition type is schema-table-type .

  • include_table_alter_operations (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Includes any data definition language (DDL) operations that change the table in the control data, such as rename-table , drop-table , add-column , drop-column , and rename-column .

  • include_transaction_details (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Provides detailed transaction information from the source database.

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

    The output format for the records created on the endpoint.

  • no_hex_prefix (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Set this optional parameter to true to avoid adding a '0x' prefix to raw data in hexadecimal format.

  • partition_include_schema_table (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Prefixes schema and table names to partition values, when the partition type is primary-key-type .

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

    The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream.

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

    The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.



1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
# File 'dms/cfn_endpoint.rb', line 1692

def initialize(include_control_details: nil, include_null_and_empty: nil, include_partition_value: nil, include_table_alter_operations: nil, include_transaction_details: nil, message_format: nil, no_hex_prefix: nil, partition_include_schema_table: nil, service_access_role_arn: nil, stream_arn: nil)
  @include_control_details = include_control_details
  Jsii::Type.check_type(@include_control_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeControlDetails") unless @include_control_details.nil?
  @include_null_and_empty = include_null_and_empty
  Jsii::Type.check_type(@include_null_and_empty, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeNullAndEmpty") unless @include_null_and_empty.nil?
  @include_partition_value = include_partition_value
  Jsii::Type.check_type(@include_partition_value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includePartitionValue") unless @include_partition_value.nil?
  @include_table_alter_operations = include_table_alter_operations
  Jsii::Type.check_type(@include_table_alter_operations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeTableAlterOperations") unless @include_table_alter_operations.nil?
  @include_transaction_details = include_transaction_details
  Jsii::Type.check_type(@include_transaction_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeTransactionDetails") unless @include_transaction_details.nil?
  @message_format = message_format
  Jsii::Type.check_type(@message_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "messageFormat") unless @message_format.nil?
  @no_hex_prefix = no_hex_prefix
  Jsii::Type.check_type(@no_hex_prefix, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "noHexPrefix") unless @no_hex_prefix.nil?
  @partition_include_schema_table = partition_include_schema_table
  Jsii::Type.check_type(@partition_include_schema_table, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "partitionIncludeSchemaTable") unless @partition_include_schema_table.nil?
  @service_access_role_arn = service_access_role_arn
  Jsii::Type.check_type(@service_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceAccessRoleArn") unless @service_access_role_arn.nil?
  @stream_arn = stream_arn
  Jsii::Type.check_type(@stream_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "streamArn") unless @stream_arn.nil?
end

Instance Attribute Details

#include_control_detailsBoolean, ... (readonly)

Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output.

The default is false .



1721
1722
1723
# File 'dms/cfn_endpoint.rb', line 1721

def include_control_details
  @include_control_details
end

#include_null_and_emptyBoolean, ... (readonly)

Include NULL and empty columns for records migrated to the endpoint.

The default is false .



1728
1729
1730
# File 'dms/cfn_endpoint.rb', line 1728

def include_null_and_empty
  @include_null_and_empty
end

#include_partition_valueBoolean, ... (readonly)

Shows the partition value within the Kinesis message output, unless the partition type is schema-table-type .

The default is false .



1735
1736
1737
# File 'dms/cfn_endpoint.rb', line 1735

def include_partition_value
  @include_partition_value
end

#include_table_alter_operationsBoolean, ... (readonly)

Includes any data definition language (DDL) operations that change the table in the control data, such as rename-table , drop-table , add-column , drop-column , and rename-column .

The default is false .



1742
1743
1744
# File 'dms/cfn_endpoint.rb', line 1742

def include_table_alter_operations
  @include_table_alter_operations
end

#include_transaction_detailsBoolean, ... (readonly)

Provides detailed transaction information from the source database.

This information includes a commit timestamp, a log position, and values for transaction_id , previous transaction_id , and transaction_record_id (the record offset within a transaction). The default is false .



1749
1750
1751
# File 'dms/cfn_endpoint.rb', line 1749

def include_transaction_details
  @include_transaction_details
end

#message_formatString? (readonly)

The output format for the records created on the endpoint.

The message format is JSON (default) or JSON_UNFORMATTED (a single line with no tab).



1756
1757
1758
# File 'dms/cfn_endpoint.rb', line 1756

def message_format
  @message_format
end

#no_hex_prefixBoolean, ... (readonly)

Set this optional parameter to true to avoid adding a '0x' prefix to raw data in hexadecimal format.

For example, by default, AWS DMS adds a '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle source to an Amazon Kinesis target. Use the NoHexPrefix endpoint setting to enable migration of RAW data type columns without adding the '0x' prefix.



1763
1764
1765
# File 'dms/cfn_endpoint.rb', line 1763

def no_hex_prefix
  @no_hex_prefix
end

#partition_include_schema_tableBoolean, ... (readonly)

Prefixes schema and table names to partition values, when the partition type is primary-key-type .

Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is false .



1770
1771
1772
# File 'dms/cfn_endpoint.rb', line 1770

def partition_include_schema_table
  @partition_include_schema_table
end

#service_access_role_arnString? (readonly)

The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream.

The role must allow the iam:PassRole action.



1777
1778
1779
# File 'dms/cfn_endpoint.rb', line 1777

def service_access_role_arn
  @service_access_role_arn
end

#stream_arnString? (readonly)

The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.



1782
1783
1784
# File 'dms/cfn_endpoint.rb', line 1782

def stream_arn
  @stream_arn
end

Class Method Details

.jsii_propertiesObject



1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
# File 'dms/cfn_endpoint.rb', line 1784

def self.jsii_properties
  {
    :include_control_details => "includeControlDetails",
    :include_null_and_empty => "includeNullAndEmpty",
    :include_partition_value => "includePartitionValue",
    :include_table_alter_operations => "includeTableAlterOperations",
    :include_transaction_details => "includeTransactionDetails",
    :message_format => "messageFormat",
    :no_hex_prefix => "noHexPrefix",
    :partition_include_schema_table => "partitionIncludeSchemaTable",
    :service_access_role_arn => "serviceAccessRoleArn",
    :stream_arn => "streamArn",
  }
end

Instance Method Details

#to_jsiiObject



1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
# File 'dms/cfn_endpoint.rb', line 1799

def to_jsii
  result = {}
  result.merge!({
    "includeControlDetails" => @include_control_details,
    "includeNullAndEmpty" => @include_null_and_empty,
    "includePartitionValue" => @include_partition_value,
    "includeTableAlterOperations" => @include_table_alter_operations,
    "includeTransactionDetails" => @include_transaction_details,
    "messageFormat" => @message_format,
    "noHexPrefix" => @no_hex_prefix,
    "partitionIncludeSchemaTable" => @partition_include_schema_table,
    "serviceAccessRoleArn" => @service_access_role_arn,
    "streamArn" => @stream_arn,
  })
  result.compact
end