Snowpark Scala utilitza el controlador JDBC de Snowflake per connectar-se. El seu constructor de sessió accepta propietats de configuració JDBC, de manera que la configuració del proxy pot viatjar amb el mapa de connexió existent:

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

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

connectionOptions conté el compte, l'autenticació i altres paràmetres que l'aplicació ja utilitza. Són entrades de mapa de cadenes de Scala; el nom d'amfitrió del proxy no inclou cap esquema d'URL ni el seu port. Per a una ruta de proxy públic permesa sense autenticació de proxy, trieu l'amfitrió i el port de la llista de proxys HTTP tot mantenint els paràmetres del compte de Snowflake.

El JDBC de Snowflake també documenta proxyUser i proxyPassword per a un compte intermediari. Proporcioneu-los a través de la font de credencials existent de l'aplicació quan calgui.

El nonProxyHosts del JDBC fa servir patrons separats per barres verticals amb suport de comodins. En un valor de mapa, el separador és un | literal; la codificació d'URL és rellevant quan es construeix una URL JDBC. No el substituïu per la sintaxi NO_PROXY separada per comes d'un altre client.

Manteniu aquesta configuració específica de Snowpark Scala. Snowpark Python i el connector de Snowflake per a Spark exposen interfícies de connexió i noms d'opció diferents.

Snowflake exigeix que el certificat del servei passi pel proxy sense substitució. Una ruta HTTP CONNECT i la inspecció TLS són disposicions diferents; un proxy que reemet el certificat de Snowflake no compleix aquest requisit.

Articles relacionats