如何使用代理与 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 会话构建器连接到雪花的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ivy iBiblio 解析器连接到受 SPNEGO 保护的 Maven 存储库?

将下拉选择器连接到数据库

通过节点资源管理器连接到 cordatestnet 的问题

连接到连接代理以检索会话时出现PSS-Remoting问题

快速入门系列--WCF--02消息会话与服务寄宿

如何通过 Python 连接到 ***/代理服务器?