You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Python连接Snowflake的技术求助及排查结果反馈

Python连接Snowflake超时问题排查与解决

问题背景

  • Python版本:3.11
  • Snowflake Python Connector版本:3.0.2
  • 异常现象:浏览器使用相同URL和密码可正常连接Snowflake,但Python脚本连接失败;通过snowcd检测发现4项主机连接超时:
    • api-35a58de5.duosecurity.com:443(DUO_SECURITY):HTTP检查超时
    • o.ss2.us:80(OCSP_RESPONDER):HTTP检查超时
    • app.snowflake.com:443(SNOWSIGHT_DEPLOYMENT):HTTP检查超时
    • apps-api.c1.us-west-2.aws.app.snowflake.com:443(SNOWSIGHT_DEPLOYMENT):证书检查超时

解决步骤

1. 配置代理参数

浏览器通常会自动读取系统代理,但Python脚本默认不会,需显式配置:

  • 在连接代码中添加代理参数:
    import snowflake.connector
    
    conn = snowflake.connector.connect(
        account='你的账户名',
        user='你的用户名',
        password='你的密码',
        warehouse='你的仓库',
        database='你的数据库',
        schema='你的 schema',
        proxy_host='代理服务器地址',  # 例如 'proxy.company.com'
        proxy_port=代理端口,         # 例如 8080
        # 若代理需要认证,添加以下两行
        # proxy_user='代理用户名',
        # proxy_password='代理密码'
    )
    
  • 或通过环境变量全局配置(Python会自动读取):
    # Linux/macOS
    export HTTP_PROXY=http://proxy_host:port
    export HTTPS_PROXY=https://proxy_host:port
    
    # Windows 命令行
    set HTTP_PROXY=http://proxy_host:port
    set HTTPS_PROXY=https://proxy_host:port
    

2. 验证网络连通性

手动测试超时主机的访问情况,确认网络是否允许连接:

# 测试DUO安全服务主机
curl -v https://api-35a58de5.duosecurity.com:443

# 测试OCSP响应主机
curl -v http://o.ss2.us:80

# 测试SnowSight相关主机
curl -v https://app.snowflake.com:443
curl -v https://apps-api.c1.us-west-2.aws.app.snowflake.com:443

若这些命令也超时,需联系IT团队开放对应域名和端口的访问权限。

3. 延长连接超时时间

在连接参数中增加超时配置,延长等待时长:

conn = snowflake.connector.connect(
    # 其他必要参数...
    login_timeout=60,  # 登录超时,单位:秒
    network_timeout=60  # 网络超时,单位:秒
)

4. 升级Snowflake Connector

当前3.0.2版本可能存在已知问题,尝试升级到最新稳定版:

pip install --upgrade snowflake-connector-python

内容的提问来源于stack exchange,提问作者user166013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:02:24