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