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, не задовольняє цю вимогу.

Схожі статті