Class: AWSCDK::DataBrew::CfnDataset::DatabaseInputDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
data_brew/cfn_dataset.rb

Overview

Connection information for dataset input files stored in a database.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(glue_connection_name:, database_table_name: nil, query_string: nil, temp_directory: nil) ⇒ DatabaseInputDefinitionProperty

Returns a new instance of DatabaseInputDefinitionProperty.

Parameters:

  • glue_connection_name (String)

    The AWS Glue Connection that stores the connection information for the target database.

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

    The table within the target database.

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

    Custom SQL to run against the provided AWS Glue connection.

  • temp_directory (AWSCDK::IResolvable, AWSCDK::DataBrew::CfnDataset::S3LocationProperty, nil) (defaults to: nil)

    An Amazon location that AWS Glue Data Catalog can use as a temporary directory.



696
697
698
699
700
701
702
703
704
705
# File 'data_brew/cfn_dataset.rb', line 696

def initialize(glue_connection_name:, database_table_name: nil, query_string: nil, temp_directory: nil)
  @glue_connection_name = glue_connection_name
  Jsii::Type.check_type(@glue_connection_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "glueConnectionName")
  @database_table_name = database_table_name
  Jsii::Type.check_type(@database_table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseTableName") unless @database_table_name.nil?
  @query_string = query_string
  Jsii::Type.check_type(@query_string, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "queryString") unless @query_string.nil?
  @temp_directory = temp_directory.is_a?(Hash) ? ::AWSCDK::DataBrew::CfnDataset::S3LocationProperty.new(**temp_directory.transform_keys(&:to_sym)) : temp_directory
  Jsii::Type.check_type(@temp_directory, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhYnJldy5DZm5EYXRhc2V0LlMzTG9jYXRpb25Qcm9wZXJ0eSJ9XX19")), "tempDirectory") unless @temp_directory.nil?
end

Instance Attribute Details

#database_table_nameString? (readonly)

The table within the target database.



716
717
718
# File 'data_brew/cfn_dataset.rb', line 716

def database_table_name
  @database_table_name
end

#glue_connection_nameString (readonly)

The AWS Glue Connection that stores the connection information for the target database.



711
712
713
# File 'data_brew/cfn_dataset.rb', line 711

def glue_connection_name
  @glue_connection_name
end

#query_stringString? (readonly)

Custom SQL to run against the provided AWS Glue connection.

This SQL will be used as the input for DataBrew projects and jobs.



723
724
725
# File 'data_brew/cfn_dataset.rb', line 723

def query_string
  @query_string
end

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

An Amazon location that AWS Glue Data Catalog can use as a temporary directory.



728
729
730
# File 'data_brew/cfn_dataset.rb', line 728

def temp_directory
  @temp_directory
end

Class Method Details

.jsii_propertiesObject



730
731
732
733
734
735
736
737
# File 'data_brew/cfn_dataset.rb', line 730

def self.jsii_properties
  {
    :glue_connection_name => "glueConnectionName",
    :database_table_name => "databaseTableName",
    :query_string => "queryString",
    :temp_directory => "tempDirectory",
  }
end

Instance Method Details

#to_jsiiObject



739
740
741
742
743
744
745
746
747
748
# File 'data_brew/cfn_dataset.rb', line 739

def to_jsii
  result = {}
  result.merge!({
    "glueConnectionName" => @glue_connection_name,
    "databaseTableName" => @database_table_name,
    "queryString" => @query_string,
    "tempDirectory" => @temp_directory,
  })
  result.compact
end