Snowpark Scala se conecta mediante el controlador JDBC de Snowflake. Su constructor de sesión acepta propiedades de configuración JDBC, así que los ajustes de proxy pueden viajar con el mapa de conexión existente:

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

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

connectionOptions contiene la cuenta, la autenticación y otros ajustes que la aplicación ya usa. Son entradas de un mapa de cadenas de Scala; el nombre de host del proxy no incluye esquema de URL ni su puerto. Para una ruta de proxy público permitida sin autenticación de proxy, elige host y puerto de la lista de proxies HTTP manteniendo los ajustes de la cuenta de Snowflake.

El JDBC de Snowflake también documenta proxyUser y proxyPassword para una cuenta intermedia. Proporciónalos mediante la fuente de credenciales existente de la aplicación cuando sea necesario.

El nonProxyHosts de JDBC usa patrones separados por barras verticales con soporte de comodines. En un valor de mapa, el separador es un | literal; la codificación URL solo importa al construir una URL JDBC. No lo sustituyas por la sintaxis NO_PROXY separada por comas de otro cliente.

Mantén esta configuración específica de Snowpark Scala. Snowpark Python y el conector Snowflake para Spark exponen interfaces de conexión y nombres de opción distintos.

Snowflake exige que el certificado del servicio atraviese el proxy sin sustitución. Una ruta HTTP CONNECT y la inspección TLS son disposiciones distintas; un proxy que reemite el certificado de Snowflake no cumple ese requisito.

Artículos relacionados