Snowpark Scala передаёт параметры прокси своему соединению JDBC
Добавьте свойства Snowflake JDBC useProxy, proxyHost и proxyPort в карту конфигурации сеанса Snowpark Scala.
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 для промежуточной учётной записи. Передавайте их через существующий источник учётных данных приложения, когда это требуется.
Свойство JDBC nonProxyHosts использует шаблоны, разделённые вертикальной чертой, с поддержкой подстановочных знаков. В значении карты разделителем является буквальный |; кодирование URL становится важным только при построении JDBC URL. Не заменяйте его синтаксисом NO_PROXY другого клиента, разделённым запятыми.
Держите эту конфигурацию специфичной для Snowpark Scala. Snowpark Python и коннектор Snowflake Spark предлагают другие интерфейсы соединения и имена параметров.
Snowflake требует, чтобы сертификат службы проходил через прокси без замены. Маршрут HTTP CONNECT и проверка TLS — разные решения; прокси, который перевыпускает сертификат Snowflake, не удовлетворяет этому требованию.