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 스킴이나 포트를 넣지 않습니다. 프록시 인증 없는 허용된 공용 프록시 경로라면 Snowflake 계정 설정을 유지한 채 HTTP 프록시 목록에서 호스트와 포트를 고르십시오.
Snowflake JDBC는 중개 계정용 proxyUser와 proxyPassword도 문서화합니다. 필요할 때 애플리케이션이 이미 쓰는 자격 증명 소스로 이 값을 전달하십시오.
JDBC의 nonProxyHosts는 와일드카드를 지원하는 세로 막대 구분 패턴을 씁니다. 맵 값에서는 구분자가 문자 그대로의 |이며, URL 인코딩은 JDBC URL을 만들 때 문제가 됩니다. 다른 클라이언트의 쉼표 구분 NO_PROXY 구문으로 바꾸지 마십시오.
이 구성은 Snowpark Scala에만 해당합니다. Snowpark Python과 Snowflake Spark 커넥터는 다른 연결 인터페이스와 옵션 이름을 제공합니다.
Snowflake는 서비스 인증서가 교체 없이 프록시를 통과하기를 요구합니다. HTTP CONNECT 경로와 TLS 검사는 서로 다른 구성이며, Snowflake 인증서를 재발급하는 프록시는 이 요구를 충족하지 않습니다.