Binding Configuration

To share settings across all workflows in a Micro-Integration, configure the binder-specific parameters under default at the binder level instead of under a workflow-specific identifier (for example, input-0output-0) in bindings. This reduces repetition when multiple workflows use the same parameter values. Workflow-specific settings override default settings when both are present.

Note that default is a sibling of bindings; it is not nested under bindings. Use the same hierarchy under default as you use under bindings.<binding-name>. For example, for bindings.input-0output-0.consumerproducer.someProperty=someValue the default setting is default.consumerproducer.someProperty=someValue.

spring:
  cloud:
    stream:
      <binder-name>:
        default:
          consumerproducer:
            <shared parameters>
        bindings:
          input-0output-0:
            consumerproducer:
              <workflow-specific parameters>

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.

Property Type Valid Values Default Value Description

database

string

any

""

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.

schema

string

any

""

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.

table

string

any

""

The name of 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>, <schema>.<table>, or <table> form.

Specifying this name as a default binding setting allows multiple workflows to share the same target table without explicitly declaring the target table.

acknowledgment-mode

string

(ON_COMMIT | ON_INSERT)

ON_COMMIT

This setting controls when the Micro-Integration sends acknowledgments to the Solace software event broker:

  • If configured for ON_COMMIT, the Micro-Integration waits until a row has been successfully committed to the target table before sending a message acknowledgment.

  • If configured for ON_INSERT, the acknowledgment is sent as soon as the message has been written to the Snowflake channel or stage.

provisioning-mode.tables

string

(NONE | CREATE)

NONE

This setting specifies whether and how the Micro-Integration should provision the specified target table:

  • If NONE is specified, the Micro-Integration does not attempt to create the table.

  • If CREATE is specified, the table is created if it does not exist. The column type of auto-provisioned tables is VARIANT. Auto-provisioned tables use the schema: RECORD_CONTENT VARIANT (output of the mapping stage; structured payloads serialized to JSON, strings and binary written as-is) and RECORD_METADATA VARIANT (explicitly mapped message headers).