Class: AWSCDK::EntityResolution::CfnSchemaMapping::SchemaInputAttributeProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
entity_resolution/cfn_schema_mapping.rb

Overview

A configuration object for defining input data fields in AWS Entity Resolution .

The SchemaInputAttribute specifies how individual fields in your input data should be processed and matched.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field_name:, type:, group_name: nil, hashed: nil, match_key: nil, sub_type: nil) ⇒ SchemaInputAttributeProperty

Returns a new instance of SchemaInputAttributeProperty.

Parameters:

  • field_name (String)

    A string containing the field name.

  • type (String)

    The type of the attribute, selected from a list of values.

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

    A string that instructs AWS Entity Resolution to combine several columns into a unified column with the identical attribute type.

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

    Indicates if the column values are hashed in the schema input.

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

    A key that allows grouping of multiple input attributes into a unified matching group.

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

    The subtype of the attribute, selected from a list of values.



602
603
604
605
606
607
608
609
610
611
612
613
614
615
# File 'entity_resolution/cfn_schema_mapping.rb', line 602

def initialize(field_name:, type:, group_name: nil, hashed: nil, match_key: nil, sub_type: nil)
  @field_name = field_name
  Jsii::Type.check_type(@field_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fieldName")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @group_name = group_name
  Jsii::Type.check_type(@group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupName") unless @group_name.nil?
  @hashed = hashed
  Jsii::Type.check_type(@hashed, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "hashed") unless @hashed.nil?
  @match_key = match_key
  Jsii::Type.check_type(@match_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "matchKey") unless @match_key.nil?
  @sub_type = sub_type
  Jsii::Type.check_type(@sub_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subType") unless @sub_type.nil?
end

Instance Attribute Details

#field_nameString (readonly)

A string containing the field name.



621
622
623
# File 'entity_resolution/cfn_schema_mapping.rb', line 621

def field_name
  @field_name
end

#group_nameString? (readonly)

A string that instructs AWS Entity Resolution to combine several columns into a unified column with the identical attribute type.

For example, when working with columns such as NAME_FIRST , NAME_MIDDLE , and NAME_LAST , assigning them a common group_name will prompt AWS Entity Resolution to concatenate them into a single value.



647
648
649
# File 'entity_resolution/cfn_schema_mapping.rb', line 647

def group_name
  @group_name
end

#hashedBoolean, ... (readonly)

Indicates if the column values are hashed in the schema input.

If the value is set to TRUE , the column values are hashed.

If the value is set to FALSE , the column values are cleartext.



656
657
658
# File 'entity_resolution/cfn_schema_mapping.rb', line 656

def hashed
  @hashed
end

#match_keyString? (readonly)

A key that allows grouping of multiple input attributes into a unified matching group.

For example, consider a scenario where the source table contains various addresses, such as business_address and shipping_address . By assigning a match_key called address to both attributes, AWS Entity Resolution will match records across these fields to create a consolidated matching group.

If no match_key is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.



665
666
667
# File 'entity_resolution/cfn_schema_mapping.rb', line 665

def match_key
  @match_key
end

#sub_typeString? (readonly)

The subtype of the attribute, selected from a list of values.



670
671
672
# File 'entity_resolution/cfn_schema_mapping.rb', line 670

def sub_type
  @sub_type
end

#typeString (readonly)

The type of the attribute, selected from a list of values.

LiveRamp supports: NAME | NAME_FIRST | NAME_MIDDLE | NAME_LAST | ADDRESS | ADDRESS_STREET1 | ADDRESS_STREET2 | ADDRESS_STREET3 | ADDRESS_CITY | ADDRESS_STATE | ADDRESS_COUNTRY | ADDRESS_POSTALCODE | PHONE | PHONE_NUMBER | EMAIL_ADDRESS | UNIQUE_ID | PROVIDER_ID

TransUnion supports: NAME | NAME_FIRST | NAME_LAST | ADDRESS | ADDRESS_CITY | ADDRESS_STATE | ADDRESS_COUNTRY | ADDRESS_POSTALCODE | PHONE_NUMBER | EMAIL_ADDRESS | UNIQUE_ID | IPV4 | IPV6 | MAID

Unified ID 2.0 supports: PHONE_NUMBER | EMAIL_ADDRESS | UNIQUE_ID

Normalization is only supported for NAME , ADDRESS , PHONE , and EMAIL_ADDRESS .

If you want to normalize NAME_FIRST , NAME_MIDDLE , and NAME_LAST , you must group them by assigning them to the NAME group_name .

If you want to normalize ADDRESS_STREET1 , ADDRESS_STREET2 , ADDRESS_STREET3 , ADDRESS_CITY , ADDRESS_STATE , ADDRESS_COUNTRY , and ADDRESS_POSTALCODE , you must group them by assigning them to the ADDRESS group_name .

If you want to normalize PHONE_NUMBER and PHONE_COUNTRYCODE , you must group them by assigning them to the PHONE group_name .



640
641
642
# File 'entity_resolution/cfn_schema_mapping.rb', line 640

def type
  @type
end

Class Method Details

.jsii_propertiesObject



672
673
674
675
676
677
678
679
680
681
# File 'entity_resolution/cfn_schema_mapping.rb', line 672

def self.jsii_properties
  {
    :field_name => "fieldName",
    :type => "type",
    :group_name => "groupName",
    :hashed => "hashed",
    :match_key => "matchKey",
    :sub_type => "subType",
  }
end

Instance Method Details

#to_jsiiObject



683
684
685
686
687
688
689
690
691
692
693
694
# File 'entity_resolution/cfn_schema_mapping.rb', line 683

def to_jsii
  result = {}
  result.merge!({
    "fieldName" => @field_name,
    "type" => @type,
    "groupName" => @group_name,
    "hashed" => @hashed,
    "matchKey" => @match_key,
    "subType" => @sub_type,
  })
  result.compact
end