Snowflake 的 Python 5 连接器支持连接级代理字段。对于将常规连接选项单独保存的应用:

connection = snowflake.connector.connect(
    **connection_options,
    proxy_host='proxy.example',
    proxy_port=8080,
    use_proxy_env=False,
)

connection_options 包含现有的 Snowflake 账户和身份验证设置,且不重复代理键。需要时,proxy_user 和 proxy_password 提供单独的中介账户。若走允许的公共代理路径而没有该账户,可从 HTTP 代理列表 中选取候选 proxy_host 和 proxy_port 值。

默认情况下 use_proxy_env 为 true,连接器会读取 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY。在版本 5 中,显式的 proxy_host 或 proxy_port 优先于这些环境值。设置 use_proxy_env=False 会有意禁用它们。

从 3.17.0 起但早于版本 5 的文档行为是环境值覆盖显式主机和端口。保留连接器版本,并在部署之间进行对比。

Snowflake 还要求其证书在不被拦截更改的情况下通过。经由企业代理的路径并不授权用任意检查证书替换服务证书。

对于绕过,NO_PROXY 接受以逗号分隔的主机后缀或 IP 地址,而不接受通配符表达式。使用该路径时,请配置实际的 Python 工作进程环境,包括 Django 工作进程或笔记本进程。

相关文章