Snowpark Scala conecta-se com o driver JDBC do Snowflake. Seu construtor de sessão aceita propriedades de configuração JDBC, então as definições de proxy podem viajar com o mapa de conexão existente:

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

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

connectionOptions contém a conta, a autenticação e outras definições que o aplicativo já usa. São entradas de mapa de strings Scala; o nome do host do proxy não inclui esquema de URL nem sua porta. Para uma rota de proxy público permitida sem autenticação de proxy, escolha host e porta da lista de proxies HTTP mantendo as definições da conta Snowflake.

O JDBC do Snowflake também documenta proxyUser e proxyPassword para uma conta intermediária. Forneça-os pela fonte de credenciais existente do aplicativo quando necessário.

O nonProxyHosts do JDBC usa padrões separados por barras verticais com suporte a curingas. Em um valor de mapa, o separador é um | literal; a codificação URL só é relevante ao construir uma URL JDBC. Não o substitua pela sintaxe NO_PROXY de outro cliente separada por vírgulas.

Mantenha esta configuração específica do Snowpark Scala. Snowpark Python e o conector Snowflake para Spark expõem interfaces de conexão e nomes de opção diferentes.

O Snowflake exige que o certificado do serviço atravesse o proxy sem substituição. Uma rota HTTP CONNECT e a inspeção TLS são arranjos diferentes; um proxy que reemite o certificado do Snowflake não atende a esse requisito.

Artigos relacionados