Class: AWSCDK::Sagemaker::CfnFeatureGroupProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sagemaker/cfn_feature_group_props.rb

Overview

Properties for defining a CfnFeatureGroup.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(event_time_feature_name:, feature_definitions:, feature_group_name:, record_identifier_feature_name:, description: nil, offline_store_config: nil, online_store_config: nil, role_arn: nil, tags: nil, throughput_config: nil) ⇒ CfnFeatureGroupProps

Returns a new instance of CfnFeatureGroupProps.

Parameters:

  • event_time_feature_name (String)

    The name of the feature that stores the EventTime of a Record in a FeatureGroup .

  • feature_definitions (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnFeatureGroup::FeatureDefinitionProperty>)

    A list of Feature s. Each Feature must include a FeatureName and a FeatureType .

  • feature_group_name (String)

    The name of the FeatureGroup .

  • record_identifier_feature_name (String)

    The name of the Feature whose value uniquely identifies a Record defined in the FeatureGroup FeatureDefinitions .

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

    A free form description of a FeatureGroup .

  • offline_store_config (Object, nil) (defaults to: nil)

    The configuration of an OfflineStore .

  • online_store_config (Object, nil) (defaults to: nil)

    The configuration of an OnlineStore .

  • role_arn (String, AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Tags used to define a FeatureGroup .

  • throughput_config (AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnFeatureGroup::ThroughputConfigProperty, nil) (defaults to: nil)

    Used to set feature group throughput configuration.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'sagemaker/cfn_feature_group_props.rb', line 19

def initialize(event_time_feature_name:, feature_definitions:, feature_group_name:, record_identifier_feature_name:, description: nil, offline_store_config: nil, online_store_config: nil, role_arn: nil, tags: nil, throughput_config: nil)
  @event_time_feature_name = event_time_feature_name
  Jsii::Type.check_type(@event_time_feature_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "eventTimeFeatureName")
  @feature_definitions = feature_definitions
  Jsii::Type.check_type(@feature_definitions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2FnZW1ha2VyLkNmbkZlYXR1cmVHcm91cC5GZWF0dXJlRGVmaW5pdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "featureDefinitions")
  @feature_group_name = feature_group_name
  Jsii::Type.check_type(@feature_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "featureGroupName")
  @record_identifier_feature_name = record_identifier_feature_name
  Jsii::Type.check_type(@record_identifier_feature_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "recordIdentifierFeatureName")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @offline_store_config = offline_store_config
  Jsii::Type.check_type(@offline_store_config, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "offlineStoreConfig") unless @offline_store_config.nil?
  @online_store_config = online_store_config
  Jsii::Type.check_type(@online_store_config, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "onlineStoreConfig") unless @online_store_config.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn") unless @role_arn.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @throughput_config = throughput_config.is_a?(Hash) ? ::AWSCDK::Sagemaker::CfnFeatureGroup::ThroughputConfigProperty.new(**throughput_config.transform_keys(&:to_sym)) : throughput_config
  Jsii::Type.check_type(@throughput_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zYWdlbWFrZXIuQ2ZuRmVhdHVyZUdyb3VwLlRocm91Z2hwdXRDb25maWdQcm9wZXJ0eSJ9XX19")), "throughputConfig") unless @throughput_config.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

A free form description of a FeatureGroup .



74
75
76
# File 'sagemaker/cfn_feature_group_props.rb', line 74

def description
  @description
end

#event_time_feature_nameString (readonly)

The name of the feature that stores the EventTime of a Record in a FeatureGroup .

A EventTime is point in time when a new event occurs that corresponds to the creation or update of a Record in FeatureGroup . All Records in the FeatureGroup must have a corresponding EventTime .



48
49
50
# File 'sagemaker/cfn_feature_group_props.rb', line 48

def event_time_feature_name
  @event_time_feature_name
end

#feature_definitionsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Sagemaker::CfnFeatureGroup::FeatureDefinitionProperty> (readonly)

A list of Feature s. Each Feature must include a FeatureName and a FeatureType .

Valid FeatureType s are Integral , Fractional and String .

FeatureName s cannot be any of the following: is_deleted , write_time , api_invocation_time .

You can create up to 2,500 FeatureDefinition s per FeatureGroup .



59
60
61
# File 'sagemaker/cfn_feature_group_props.rb', line 59

def feature_definitions
  @feature_definitions
end

#feature_group_nameString (readonly)

The name of the FeatureGroup .



64
65
66
# File 'sagemaker/cfn_feature_group_props.rb', line 64

def feature_group_name
  @feature_group_name
end

#offline_store_configObject? (readonly)

The configuration of an OfflineStore .



79
80
81
# File 'sagemaker/cfn_feature_group_props.rb', line 79

def offline_store_config
  @offline_store_config
end

#online_store_configObject? (readonly)

The configuration of an OnlineStore .



84
85
86
# File 'sagemaker/cfn_feature_group_props.rb', line 84

def online_store_config
  @online_store_config
end

#record_identifier_feature_nameString (readonly)

The name of the Feature whose value uniquely identifies a Record defined in the FeatureGroup FeatureDefinitions .



69
70
71
# File 'sagemaker/cfn_feature_group_props.rb', line 69

def record_identifier_feature_name
  @record_identifier_feature_name
end

#role_arnString, ... (readonly)

The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.



89
90
91
# File 'sagemaker/cfn_feature_group_props.rb', line 89

def role_arn
  @role_arn
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Tags used to define a FeatureGroup .



94
95
96
# File 'sagemaker/cfn_feature_group_props.rb', line 94

def tags
  @tags
end

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

Used to set feature group throughput configuration.

There are two modes: ON_DEMAND and PROVISIONED . With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.

Note: PROVISIONED throughput mode is supported only for feature groups that are offline-only, or use the Standard tier online store.



103
104
105
# File 'sagemaker/cfn_feature_group_props.rb', line 103

def throughput_config
  @throughput_config
end

Class Method Details

.jsii_propertiesObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'sagemaker/cfn_feature_group_props.rb', line 105

def self.jsii_properties
  {
    :event_time_feature_name => "eventTimeFeatureName",
    :feature_definitions => "featureDefinitions",
    :feature_group_name => "featureGroupName",
    :record_identifier_feature_name => "recordIdentifierFeatureName",
    :description => "description",
    :offline_store_config => "offlineStoreConfig",
    :online_store_config => "onlineStoreConfig",
    :role_arn => "roleArn",
    :tags => "tags",
    :throughput_config => "throughputConfig",
  }
end

Instance Method Details

#to_jsiiObject



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'sagemaker/cfn_feature_group_props.rb', line 120

def to_jsii
  result = {}
  result.merge!({
    "eventTimeFeatureName" => @event_time_feature_name,
    "featureDefinitions" => @feature_definitions,
    "featureGroupName" => @feature_group_name,
    "recordIdentifierFeatureName" => @record_identifier_feature_name,
    "description" => @description,
    "offlineStoreConfig" => @offline_store_config,
    "onlineStoreConfig" => @online_store_config,
    "roleArn" => @role_arn,
    "tags" => @tags,
    "throughputConfig" => @throughput_config,
  })
  result.compact
end