Snowpark Scala ਆਪਣੇ JDBC ਕਨੈਕਸ਼ਨ ਨੂੰ ਪ੍ਰੌਕਸੀ ਚੋਣਾਂ ਭੇਜਦਾ ਹੈ
Snowpark Scala ਸੈਸ਼ਨ ਕਨਫਿਗਰੇਸ਼ਨ ਮੈਪ ਵਿੱਚ Snowflake JDBC ਦੀਆਂ useProxy, proxyHost ਅਤੇ proxyPort ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ।
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 ਪ੍ਰਮਾਣਪੱਤਰ ਮੁੜ ਜਾਰੀ ਕਰਨ ਵਾਲਾ ਪ੍ਰੌਕਸੀ ਇਹ ਸ਼ਰਤ ਪੂਰੀ ਨਹੀਂ ਕਰਦਾ।