Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeDestinationConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeDestinationConfigurationProperty
- Defined in:
- kinesis_firehose/cfn_delivery_stream.rb
Overview
Configure Snowflake destination.
Instance Attribute Summary collapse
-
#account_url ⇒ String
readonly
URL for accessing your Snowflake account.
-
#buffering_hints ⇒ AWSCDK::IResolvable, ...
readonly
Describes the buffering to perform before delivering data to the Snowflake destination.
- #cloud_watch_logging_options ⇒ AWSCDK::IResolvable, ... readonly
-
#content_column_name ⇒ String?
readonly
The name of the record content column.
-
#data_loading_option ⇒ String?
readonly
Choose to load JSON keys mapped to table column names or choose to split the JSON payload where content is mapped to a record content column and source metadata is mapped to a record metadata column.
-
#database ⇒ String
readonly
All data in Snowflake is maintained in databases.
-
#key_passphrase ⇒ String?
readonly
Passphrase to decrypt the private key when the key is encrypted.
-
#meta_data_column_name ⇒ String?
readonly
Specify a column name in the table, where the metadata information has to be loaded.
-
#private_key ⇒ String?
readonly
The private key used to encrypt your Snowflake client.
- #processing_configuration ⇒ AWSCDK::IResolvable, ... readonly
-
#retry_options ⇒ AWSCDK::IResolvable, ...
readonly
The time period where Firehose will retry sending data to the chosen HTTP endpoint.
-
#role_arn ⇒ String
readonly
The Amazon Resource Name (ARN) of the Snowflake role.
-
#s3_backup_mode ⇒ String?
readonly
Choose an S3 backup mode.
- #s3_configuration ⇒ AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty readonly
-
#schema ⇒ String
readonly
Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views.
-
#secrets_manager_configuration ⇒ AWSCDK::IResolvable, ...
readonly
The configuration that defines how you access secrets for Snowflake.
-
#snowflake_role_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Optionally configure a Snowflake role.
-
#snowflake_vpc_configuration ⇒ AWSCDK::IResolvable, ...
readonly
The VPCE ID for Firehose to privately connect with Snowflake.
-
#table ⇒ String
readonly
All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.
-
#user ⇒ String?
readonly
User login name for the Snowflake account.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(account_url:, database:, role_arn:, s3_configuration:, schema:, table:, buffering_hints: nil, cloud_watch_logging_options: nil, content_column_name: nil, data_loading_option: nil, key_passphrase: nil, meta_data_column_name: nil, private_key: nil, processing_configuration: nil, retry_options: nil, s3_backup_mode: nil, secrets_manager_configuration: nil, snowflake_role_configuration: nil, snowflake_vpc_configuration: nil, user: nil) ⇒ SnowflakeDestinationConfigurationProperty
constructor
A new instance of SnowflakeDestinationConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(account_url:, database:, role_arn:, s3_configuration:, schema:, table:, buffering_hints: nil, cloud_watch_logging_options: nil, content_column_name: nil, data_loading_option: nil, key_passphrase: nil, meta_data_column_name: nil, private_key: nil, processing_configuration: nil, retry_options: nil, s3_backup_mode: nil, secrets_manager_configuration: nil, snowflake_role_configuration: nil, snowflake_vpc_configuration: nil, user: nil) ⇒ SnowflakeDestinationConfigurationProperty
Returns a new instance of SnowflakeDestinationConfigurationProperty.
4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4571 def initialize(account_url:, database:, role_arn:, s3_configuration:, schema:, table:, buffering_hints: nil, cloud_watch_logging_options: nil, content_column_name: nil, data_loading_option: nil, key_passphrase: nil, meta_data_column_name: nil, private_key: nil, processing_configuration: nil, retry_options: nil, s3_backup_mode: nil, secrets_manager_configuration: nil, snowflake_role_configuration: nil, snowflake_vpc_configuration: nil, user: nil) @account_url = account_url Jsii::Type.check_type(@account_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accountUrl") @database = database Jsii::Type.check_type(@database, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "database") @role_arn = role_arn Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") @s3_configuration = s3_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty.new(**s3_configuration.transform_keys(&:to_sym)) : s3_configuration Jsii::Type.check_type(@s3_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUzNEZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "s3Configuration") @schema = schema Jsii::Type.check_type(@schema, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "schema") @table = table Jsii::Type.check_type(@table, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "table") @buffering_hints = buffering_hints.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeBufferingHintsProperty.new(**buffering_hints.transform_keys(&:to_sym)) : buffering_hints Jsii::Type.check_type(@buffering_hints, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU25vd2ZsYWtlQnVmZmVyaW5nSGludHNQcm9wZXJ0eSJ9XX19")), "bufferingHints") unless @buffering_hints.nil? @cloud_watch_logging_options = .is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::CloudWatchLoggingOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@cloud_watch_logging_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uQ2xvdWRXYXRjaExvZ2dpbmdPcHRpb25zUHJvcGVydHkifV19fQ==")), "cloudWatchLoggingOptions") unless @cloud_watch_logging_options.nil? @content_column_name = content_column_name Jsii::Type.check_type(@content_column_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "contentColumnName") unless @content_column_name.nil? @data_loading_option = data_loading_option Jsii::Type.check_type(@data_loading_option, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataLoadingOption") unless @data_loading_option.nil? @key_passphrase = key_passphrase Jsii::Type.check_type(@key_passphrase, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyPassphrase") unless @key_passphrase.nil? @meta_data_column_name = Jsii::Type.check_type(@meta_data_column_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metaDataColumnName") unless @meta_data_column_name.nil? @private_key = private_key Jsii::Type.check_type(@private_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "privateKey") unless @private_key.nil? @processing_configuration = processing_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::ProcessingConfigurationProperty.new(**processing_configuration.transform_keys(&:to_sym)) : processing_configuration Jsii::Type.check_type(@processing_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUHJvY2Vzc2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "processingConfiguration") unless @processing_configuration.nil? @retry_options = .is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeRetryOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@retry_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU25vd2ZsYWtlUmV0cnlPcHRpb25zUHJvcGVydHkifV19fQ==")), "retryOptions") unless @retry_options.nil? @s3_backup_mode = s3_backup_mode Jsii::Type.check_type(@s3_backup_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3BackupMode") unless @s3_backup_mode.nil? @secrets_manager_configuration = secrets_manager_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SecretsManagerConfigurationProperty.new(**secrets_manager_configuration.transform_keys(&:to_sym)) : secrets_manager_configuration Jsii::Type.check_type(@secrets_manager_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU2VjcmV0c01hbmFnZXJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "secretsManagerConfiguration") unless @secrets_manager_configuration.nil? @snowflake_role_configuration = snowflake_role_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeRoleConfigurationProperty.new(**snowflake_role_configuration.transform_keys(&:to_sym)) : snowflake_role_configuration Jsii::Type.check_type(@snowflake_role_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU25vd2ZsYWtlUm9sZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "snowflakeRoleConfiguration") unless @snowflake_role_configuration.nil? @snowflake_vpc_configuration = snowflake_vpc_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SnowflakeVPCConfigurationProperty.new(**snowflake_vpc_configuration.transform_keys(&:to_sym)) : snowflake_vpc_configuration Jsii::Type.check_type(@snowflake_vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU25vd2ZsYWtlVnBjQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "snowflakeVpcConfiguration") unless @snowflake_vpc_configuration.nil? @user = user Jsii::Type.check_type(@user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "user") unless @user.nil? end |
Instance Attribute Details
#account_url ⇒ String (readonly)
URL for accessing your Snowflake account.
This URL must include your account identifier . Note that the protocol (https://) and port number are optional.
4620 4621 4622 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4620 def account_url @account_url end |
#buffering_hints ⇒ AWSCDK::IResolvable, ... (readonly)
Describes the buffering to perform before delivering data to the Snowflake destination.
If you do not specify any value, Firehose uses the default values.
4650 4651 4652 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4650 def buffering_hints @buffering_hints end |
#cloud_watch_logging_options ⇒ AWSCDK::IResolvable, ... (readonly)
4653 4654 4655 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4653 def @cloud_watch_logging_options end |
#content_column_name ⇒ String? (readonly)
The name of the record content column.
4658 4659 4660 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4658 def content_column_name @content_column_name end |
#data_loading_option ⇒ String? (readonly)
Choose to load JSON keys mapped to table column names or choose to split the JSON payload where content is mapped to a record content column and source metadata is mapped to a record metadata column.
4663 4664 4665 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4663 def data_loading_option @data_loading_option end |
#database ⇒ String (readonly)
All data in Snowflake is maintained in databases.
4625 4626 4627 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4625 def database @database end |
#key_passphrase ⇒ String? (readonly)
Passphrase to decrypt the private key when the key is encrypted.
For information, see Using Key Pair Authentication & Key Rotation .
4670 4671 4672 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4670 def key_passphrase @key_passphrase end |
#meta_data_column_name ⇒ String? (readonly)
Specify a column name in the table, where the metadata information has to be loaded.
When you enable this field, you will see the following column in the snowflake table, which differs based on the source type.
For Direct PUT as source
{ "firehoseDeliveryStreamName" : "streamname", "IngestionTime" : "timestamp" }
For Kinesis Data Stream as source
"kinesisStreamName" : "streamname", "kinesisShardId" : "Id", "kinesisPartitionKey" : "key", "kinesisSequenceNumber" : "1234", "subsequenceNumber" : "2334", "IngestionTime" : "timestamp" }
4685 4686 4687 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4685 def @meta_data_column_name end |
#private_key ⇒ String? (readonly)
The private key used to encrypt your Snowflake client.
For information, see Using Key Pair Authentication & Key Rotation .
4692 4693 4694 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4692 def private_key @private_key end |
#processing_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
4695 4696 4697 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4695 def processing_configuration @processing_configuration end |
#retry_options ⇒ AWSCDK::IResolvable, ... (readonly)
The time period where Firehose will retry sending data to the chosen HTTP endpoint.
4700 4701 4702 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4700 def @retry_options end |
#role_arn ⇒ String (readonly)
The Amazon Resource Name (ARN) of the Snowflake role.
4630 4631 4632 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4630 def role_arn @role_arn end |
#s3_backup_mode ⇒ String? (readonly)
Choose an S3 backup mode.
4705 4706 4707 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4705 def s3_backup_mode @s3_backup_mode end |
#s3_configuration ⇒ AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty (readonly)
4633 4634 4635 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4633 def s3_configuration @s3_configuration end |
#schema ⇒ String (readonly)
Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views.
4638 4639 4640 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4638 def schema @schema end |
#secrets_manager_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
The configuration that defines how you access secrets for Snowflake.
4710 4711 4712 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4710 def secrets_manager_configuration @secrets_manager_configuration end |
#snowflake_role_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Optionally configure a Snowflake role.
Otherwise the default user role will be used.
4717 4718 4719 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4717 def snowflake_role_configuration @snowflake_role_configuration end |
#snowflake_vpc_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
The VPCE ID for Firehose to privately connect with Snowflake.
The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see Amazon PrivateLink & Snowflake
4724 4725 4726 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4724 def snowflake_vpc_configuration @snowflake_vpc_configuration end |
#table ⇒ String (readonly)
All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.
4643 4644 4645 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4643 def table @table end |
#user ⇒ String? (readonly)
User login name for the Snowflake account.
4729 4730 4731 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4729 def user @user end |
Class Method Details
.jsii_properties ⇒ Object
4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4731 def self.jsii_properties { :account_url => "accountUrl", :database => "database", :role_arn => "roleArn", :s3_configuration => "s3Configuration", :schema => "schema", :table => "table", :buffering_hints => "bufferingHints", :cloud_watch_logging_options => "cloudWatchLoggingOptions", :content_column_name => "contentColumnName", :data_loading_option => "dataLoadingOption", :key_passphrase => "keyPassphrase", :meta_data_column_name => "metaDataColumnName", :private_key => "privateKey", :processing_configuration => "processingConfiguration", :retry_options => "retryOptions", :s3_backup_mode => "s3BackupMode", :secrets_manager_configuration => "secretsManagerConfiguration", :snowflake_role_configuration => "snowflakeRoleConfiguration", :snowflake_vpc_configuration => "snowflakeVpcConfiguration", :user => "user", } end |
Instance Method Details
#to_jsii ⇒ Object
4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 |
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4756 def to_jsii result = {} result.merge!({ "accountUrl" => @account_url, "database" => @database, "roleArn" => @role_arn, "s3Configuration" => @s3_configuration, "schema" => @schema, "table" => @table, "bufferingHints" => @buffering_hints, "cloudWatchLoggingOptions" => @cloud_watch_logging_options, "contentColumnName" => @content_column_name, "dataLoadingOption" => @data_loading_option, "keyPassphrase" => @key_passphrase, "metaDataColumnName" => @meta_data_column_name, "privateKey" => @private_key, "processingConfiguration" => @processing_configuration, "retryOptions" => @retry_options, "s3BackupMode" => @s3_backup_mode, "secretsManagerConfiguration" => @secrets_manager_configuration, "snowflakeRoleConfiguration" => @snowflake_role_configuration, "snowflakeVpcConfiguration" => @snowflake_vpc_configuration, "user" => @user, }) result.compact end |