Snowpark Scala usa o controlador JDBC de Snowflake para conectarse. O seu construtor de sesión acepta propiedades de configuración JDBC, polo que a configuración do proxy pode viaxar co 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 contén a conta, a autenticación e outros axustes que a aplicación xa usa. Son entradas de mapa de cadeas de Scala; o nome do servidor proxy non inclúe esquema de URL nin o seu porto. Para unha ruta de proxy público permitida sen autenticación de proxy, escolle servidor e porto da lista de proxies HTTP mantendo os axustes da conta de Snowflake.

O JDBC de Snowflake tamén documenta proxyUser e proxyPassword para unha conta intermedia. Fornéceos a través da fonte de credenciais existente da aplicación cando sexa necesario.

O nonProxyHosts do JDBC usa patróns separados por barras verticais con admisión de comodíns. Nun valor de mapa, o separador é un | literal; a codificación URL só é relevante ao construír unha URL JDBC. Non o substitúas pola sintaxe NO_PROXY doutro cliente separada por comas.

Mantén esta configuración específica de Snowpark Scala. Snowpark Python e o conector Snowflake para Spark expoñen interfaces de conexión e nomes de opción diferentes.

Snowflake esixe que o certificado do servizo pase polo proxy sen substitución. Unha ruta HTTP CONNECT e a inspección TLS son disposicións distintas; un proxy que reemite o certificado de Snowflake non cumpre ese requisito.

Artigos relacionados