AWS::KinesisFirehose::DeliveryStream SnowflakeDestinationConfiguration
Configure Snowflake destination
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "AccountUrl" :
String
, "BufferingHints" :SnowflakeBufferingHints
, "CloudWatchLoggingOptions" :CloudWatchLoggingOptions
, "ContentColumnName" :String
, "Database" :String
, "DataLoadingOption" :String
, "KeyPassphrase" :String
, "MetaDataColumnName" :String
, "PrivateKey" :String
, "ProcessingConfiguration" :ProcessingConfiguration
, "RetryOptions" :SnowflakeRetryOptions
, "RoleARN" :String
, "S3BackupMode" :String
, "S3Configuration" :S3DestinationConfiguration
, "Schema" :String
, "SecretsManagerConfiguration" :SecretsManagerConfiguration
, "SnowflakeRoleConfiguration" :SnowflakeRoleConfiguration
, "SnowflakeVpcConfiguration" :SnowflakeVpcConfiguration
, "Table" :String
, "User" :String
}
YAML
AccountUrl:
String
BufferingHints:SnowflakeBufferingHints
CloudWatchLoggingOptions:CloudWatchLoggingOptions
ContentColumnName:String
Database:String
DataLoadingOption:String
KeyPassphrase:String
MetaDataColumnName:String
PrivateKey:String
ProcessingConfiguration:ProcessingConfiguration
RetryOptions:SnowflakeRetryOptions
RoleARN:String
S3BackupMode:String
S3Configuration:S3DestinationConfiguration
Schema:String
SecretsManagerConfiguration:SecretsManagerConfiguration
SnowflakeRoleConfiguration:SnowflakeRoleConfiguration
SnowflakeVpcConfiguration:SnowflakeVpcConfiguration
Table:String
User:String
Properties
AccountUrl
-
URL for accessing your Snowflake account. This URL must include your account identifier
. Note that the protocol (https://) and port number are optional. Required: Yes
Type: String
Pattern:
.+?\.snowflakecomputing\.com
Minimum:
24
Maximum:
2048
Update requires: No interruption
BufferingHints
-
Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.
Required: No
Type: SnowflakeBufferingHints
Update requires: No interruption
CloudWatchLoggingOptions
Property description not available.
Required: No
Type: CloudWatchLoggingOptions
Update requires: No interruption
ContentColumnName
-
The name of the record content column.
Required: No
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption
Database
-
All data in Snowflake is maintained in databases.
Required: Yes
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption
DataLoadingOption
-
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.
Required: No
Type: String
Allowed values:
JSON_MAPPING | VARIANT_CONTENT_MAPPING | VARIANT_CONTENT_AND_METADATA_MAPPING
Update requires: No interruption
KeyPassphrase
-
Passphrase to decrypt the private key when the key is encrypted. For information, see Using Key Pair Authentication & Key Rotation
. Required: No
Type: String
Minimum:
7
Maximum:
255
Update requires: No interruption
MetaDataColumnName
-
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" }
Required: No
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption
PrivateKey
-
The private key used to encrypt your Snowflake client. For information, see Using Key Pair Authentication & Key Rotation
. Required: No
Type: String
Pattern:
^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
Minimum:
256
Maximum:
4096
Update requires: No interruption
ProcessingConfiguration
-
Specifies configuration for Snowflake.
Required: No
Type: ProcessingConfiguration
Update requires: No interruption
RetryOptions
-
The time period where Firehose will retry sending data to the chosen HTTP endpoint.
Required: No
Type: SnowflakeRetryOptions
Update requires: No interruption
RoleARN
-
The Amazon Resource Name (ARN) of the Snowflake role
Required: Yes
Type: String
Pattern:
arn:.*
Minimum:
1
Maximum:
512
Update requires: No interruption
S3BackupMode
-
Choose an S3 backup mode
Required: No
Type: String
Allowed values:
FailedDataOnly | AllData
Update requires: No interruption
S3Configuration
Property description not available.
Required: Yes
Type: S3DestinationConfiguration
Update requires: No interruption
Schema
-
Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views
Required: Yes
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption
SecretsManagerConfiguration
-
The configuration that defines how you access secrets for Snowflake.
Required: No
Type: SecretsManagerConfiguration
Update requires: No interruption
SnowflakeRoleConfiguration
-
Optionally configure a Snowflake role. Otherwise the default user role will be used.
Required: No
Type: SnowflakeRoleConfiguration
Update requires: No interruption
SnowflakeVpcConfiguration
-
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
Required: No
Type: SnowflakeVpcConfiguration
Update requires: Replacement
Table
-
All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.
Required: Yes
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption
User
-
User login name for the Snowflake account.
Required: No
Type: String
Minimum:
1
Maximum:
255
Update requires: No interruption