Snowpark Scala използва драйвера Snowflake JDBC за връзка. Конструкторът на сесия приема конфигурационни свойства на JDBC, така че прокси настройките могат да пътуват с картата на връзката:

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

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

connectionOptions съдържа акаунта, удостоверяването и други настройки, които приложението вече използва. Това са записи в низова карта на Scala; името на прокси хоста не включва URL схема или неговия порт. За разрешен маршрут през публичен прокси без прокси удостоверяване изберете хост и порт от списъка с HTTP прокси сървъри, като запазите настройките на акаунта в Snowflake.

Snowflake JDBC документира също proxyUser и proxyPassword за междинен акаунт. Предоставяйте ги чрез съществуващия източник на идентификационни данни на приложението, когато е необходимо.

nonProxyHosts на JDBC използва разделени с вертикална черта шаблони с поддръжка на заместващи знаци. В стойност на карта разделителят е буквален |; URL кодирането става важно при изграждане на JDBC URL. Не го заменяйте със синтаксиса NO_PROXY на друг клиент, разделен със запетаи.

Дръжте тази конфигурация само за Snowpark Scala. Snowpark Python и конекторът Snowflake Spark предоставят различни интерфейси за връзка и имена на опции.

Snowflake изисква сертификатът на услугата да преминава през прокси без подмяна. Маршрутът HTTP CONNECT и TLS инспекцията са различни решения; прокси, което преиздава сертификата на Snowflake, не удовлетворява това изискване.

Подобни статии