Configuring Connection Details
This section provides instructions for configuring the connection details required to establish communication between the connector and your third-party system.
For information about configuring the connection to the event broker, see Connecting to Your Event Broker.
This connector supports workflows only in the direction of:
-
Solace to Snowflake
The name of the binder for Snowflake is snowflake
.
Snowflake Connection Details
Manual Configuration
To manually configure the application.yml
file:
snowflake-binder: url: <locator>.<region>.snowflakecomputing.com:443 username: snowflake_user role: <role> private-key-path: <private-key-path> private-key-password: <password>
Where:
-
<role>
: Snowflake role, for example:ACCOUNTADMIN
,SECURITYADMIN
,USERADMIN
,SYSADMIN
,PUBLIC
.For more information, see: Create Role and Overview of Access Control in the Snowflake documentation.
-
<private-key-path>
: The file protocol path to the private key file, for example,'file:///C:/Users/admin/Documents/privateKeyPEM.p8'
.For more information, see Key-pair authentication and key-pair rotation in the Snowflake documentation.
-
<password>
: The password for the encrypted private key, if applicable.
Snowflake Binder Configuration Options
These properties must be prefixed with snowflake
.
Config Option | Type | Description |
---|---|---|
|
|
The Snowflake account URL in the format:
For instance, for the Snowflake account URL |
username
|
|
The user login name for the Snowflake account. |
|
|
The role that the user should take while performing ingestion, for example:
For more information, see: Create Role and Overview of Access Control in the Snowflake documentation. |
|
|
The file protocol path to the private key to use to authenticate the user, for example, Supports both encrypted and unencrypted keys. For more information, see Key-pair authentication and key-pair rotation in the Snowflake documentation. |
|
|
The password for the encrypted private key, if applicable. |
Snowflake Producer Configuration Options
The following configuration options are available to Snowflake producers:
-
To apply a configuration option to all output bindings, prefix it with
spring.cloud.stream.snowflake.default.producer
. -
To apply a configuration option to a specific binding, prefix it with
spring.cloud.stream.snowflake.bindings.<bindingName>.producer
.
Config Option | Type | Valid Values | Default Value | Description |
---|---|---|---|---|
|
|
|
|
The name of the database that contains the table to insert rows into. This name can also
be specified in the binding destination binding when using a fully-qualified table name in the <database>.<schema>.<table> form. |
|
|
|
|
The name of the schema that contains the table to insert rows into. This name can also
be specified in the destination binding when using a fully-qualified table name
in the <database>.<schema>.<table> or <schema>.<table> form. |
|
|
|
|
The name of the table to insert rows into. This name can also be specified in the Specifying this name as a default binding setting allows multiple workflows to share the same target table without explicitly declaring the target table. |
|
|
|
|
This setting controls when the connector sends acknowledgments to the PubSub+ software event broker:
|
|
|
|
|
This setting specifies whether and how the connector should provision the specified target table:
|
Connecting to Multiple Systems
To connect to multiple systems of the same type, use the Spring Cloud Stream multiple binder syntax.
For example:
spring: cloud: stream: binders: solace1: # 1st solace binder in this example type: solace environment: solace: java: host: tcp://localhost:55555 solace2: # 2nd solace binder in this example type: solace environment: solace: java: host: tcp://other-host:55555 snowflake1: # The only snowflake binder type: snowflake environment: snowflake-binder: # Add connection and binder properties here to customize behavior. # Required for internal use undefined: type: undefined bindings: input-0: destination: <input-destination> binder: solace1 # Reference 1st solace binder output-0: destination: <output-destination> binder: snowflake1 input-1: destination: <input-destination> binder: solace2 # Reference 2nd solace binder output-1: destination: <output-destination> binder: snowflake1
The configuration above defines two binders of type solace
and one binder of type snowflake
, which are then referenced within the bindings.
Each binder above is configured independently under spring.cloud.stream.binders.<bindername>.environment
.
When connecting to multiple systems, all binder configuration must be specified using the multiple binder syntax for all binders. For example, under the spring.cloud.stream.binders.<binder-name>.environment
.
Do not use single-binder configuration (for example, solace.java.*
at the root of your application.yml
) while using the multiple binder syntax.