Snowpark Scala passa le opzioni proxy alla propria connessione JDBC
Aggiungi le proprietà Snowflake JDBC useProxy, proxyHost e proxyPort alla mappa di configurazione della sessione Snowpark Scala.
Snowpark Scala si connette tramite il driver JDBC di Snowflake. Il costruttore di sessione accetta proprietà di configurazione JDBC, quindi le impostazioni del proxy possono viaggiare con la mappa di connessione esistente:
val proxyOptions = Map(
"useProxy" -> "true",
"proxyHost" -> "proxy.example",
"proxyPort" -> "8080"
)
val session = com.snowflake.snowpark.Session.builder
.configs(connectionOptions ++ proxyOptions)
.create
connectionOptions contiene l'account, l'autenticazione e altre impostazioni già usate dall'applicazione. Sono voci di una mappa di stringhe Scala; il nome host del proxy non include schema URL né porta. Per una rotta tramite proxy pubblico consentita e senza autenticazione proxy, scegli host e porta dall'elenco di proxy HTTP mantenendo le impostazioni dell'account Snowflake.
Il driver JDBC di Snowflake documenta anche proxyUser e proxyPassword per un account intermediario. Forniscili tramite l'origine delle credenziali già usata dall'applicazione quando serve.
Il nonProxyHosts di JDBC usa pattern separati da barre verticali con supporto dei caratteri jolly. In un valore di mappa il separatore è un | letterale; la codifica URL diventa rilevante quando si costruisce un URL JDBC. Non sostituirlo con la sintassi NO_PROXY separata da virgole di un altro client.
Mantieni questa configurazione specifica per Snowpark Scala. Snowpark Python e il connettore Snowflake per Spark espongono interfacce di connessione e nomi di opzione diversi.
Snowflake richiede che il certificato del servizio attraversi il proxy senza sostituzione. Una rotta HTTP CONNECT e l'ispezione TLS sono soluzioni diverse; un proxy che riemette il certificato Snowflake non soddisfa questo requisito.