如何使用代理与 Snowpark 会话构建器连接到雪花
Posted
技术标签:
【中文标题】如何使用代理与 Snowpark 会话构建器连接到雪花【英文标题】:How to use proxy with Snowpark session builder to connect to snowflake 【发布时间】:2021-06-24 17:12:01 【问题描述】:我刚开始使用 Snowflake 最近发布的 snowpark。我正在使用 Intellij 构建 udf(用户定义的函数)。然而,努力使用代理使用 Intellij 连接到雪花。以下是我已经尝试过的几件事:
-
将代理放入 Intellij(在首选项下)
在构建会话之前添加代理
System.setProperty("https.useProxy", "true")
System.setProperty("http.proxyHost", "xxxxxxx")
System.setProperty("http.proxyPort", "443")
System.setProperty("no_proxy", "snowflakecomputing.com")
以下是我的代码 -
val configs = Map (
"URL" -> "xxxxx.snowflakecomputing.com:443",
"USER" -> "xxx",
"PASSWORD" -> "xxxx",
"ROLE" -> "ROLE_xxxxx",
"WAREHOUSE" -> "xxxx",
"DB" -> "xxxx",
"SCHEMA" -> "xxxx",
)
val session = Session.builder.configs(configs).create
【问题讨论】:
您在设置代理和执行函数时看到了什么确切的错误? 【参考方案1】:Snowpark 使用 JDBC 驱动程序连接到 Snowflake,因此这里也可以使用 JDBC 连接器的代理属性。
在您的地图中添加:
"proxyHost" -> "proxyHost Value"
"proxyPort" -> "proxyPort Value"
更多信息here
如果您通过设置 Java 系统属性来指定代理,那么您可以调用 System.setProperty,例如:
System.setProperty("http.useProxy", "true");
System.setProperty("http.proxyHost", "proxyHost Value");
System.setProperty("http.proxyPort", "proxyPort Value");
System.setProperty("https.proxyHost", "proxyHost HTTPS Value");
System.setProperty("https.proxyPort", ""proxyPort HTTPS Value"")
或者直接像JVM这样:
-Dhttp.useProxy=true
-Dhttps.proxyHost=<proxy_host>
-Dhttp.proxyHost=<proxy_host>
-Dhttps.proxyPort=<proxy_port>
-Dhttp.proxyPort=<proxy_port>
更多信息here
【讨论】:
以上是关于如何使用代理与 Snowpark 会话构建器连接到雪花的主要内容,如果未能解决你的问题,请参考以下文章