Snowpark Scala uses the Snowflake JDBC driver to connect. Its session builder accepts JDBC configuration properties, so proxy settings can travel with the existing connection map:

val proxyOptions = Map(
  "useProxy" -> "true",
  "proxyHost" -> "proxy.example",
  "proxyPort" -> "8080"
)

val session = com.snowflake.snowpark.Session.builder
  .configs(connectionOptions ++ proxyOptions)
  .create

connectionOptions contains the account, authentication and other settings the application already uses. These are Scala string-map entries; the proxy hostname does not include a URL scheme or its port. For a permitted public-proxy route without proxy authentication, choose host and port candidates from the HTTP proxy list while retaining the Snowflake account settings.

Snowflake JDBC also documents proxyUser and proxyPassword for an intermediary account. Supply those through the application's existing credential source when required.

JDBC's nonProxyHosts uses pipe-separated patterns with wildcard support. In a map value, the separator is a literal |; URL encoding becomes relevant when constructing a JDBC URL instead. Do not substitute another client's comma-separated NO_PROXY syntax.

Keep this configuration specific to Snowpark Scala. Snowpark Python and the Snowflake Spark connector expose different connection interfaces and option names.

Snowflake requires the service certificate to pass through the proxy without replacement. An HTTP CONNECT route and TLS inspection are different arrangements; a proxy that reissues the Snowflake certificate does not satisfy that requirement.

Winndannde jowitiiɗe heen