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

Snowflake Python存储过程调用谷歌翻译代码时遭遇httpx.ConnectError错误求助

Snowflake Python存储过程调用谷歌翻译代码时遭遇httpx.ConnectError错误求助

碰到这个资源忙的连接错误确实挺闹心的,我来给你分享几个可能的排查方向和解决思路:

  • 先排查Snowflake的网络访问权限
    Snowflake的Python存储过程/UDF默认是限制外部网络访问的,要调用谷歌翻译这类外部API,得先确认你的账户已经开启了外部网络访问权限,并且配置了正确的网络政策(Network Policy)。你需要确保 outbound 规则里包含了谷歌翻译API的域名(比如translate.googleapis.com)或者对应的IP范围,不然容器里的代码根本连不上外部网络,容易触发这类资源相关的错误。

  • 调整httpx的连接参数,避免资源耗尽
    Snowflake的运行容器资源有限,httpx默认的连接池设置可能太激进,导致资源被占满。你可以试试手动调整这几个参数:

    • 降低连接池的最大连接数,比如设置max_connections=2
    • 强制禁用HTTP/2,改用HTTP/1.1,有些隔离环境对HTTP/2的支持不太好
      给你个示例代码片段参考:
    import httpx
    
    # 复用一个配置好的客户端实例
    client = httpx.Client(
        limits=httpx.Limits(max_connections=2),
        transport=httpx.HTTPTransport(http2=False)
    )
    
    # 后续用这个client调用谷歌翻译API
    response = client.post("https://translate.googleapis.com/...", json=your_payload)
    
  • 复用httpx客户端,避免频繁创建连接
    如果你的代码里每次请求都新建一个httpx客户端,很容易耗尽容器里的文件描述符或网络资源,触发Device or resource busy错误。建议在存储过程里只初始化一次客户端,所有请求都复用这个实例,用完再正确关闭(或者让Snowflake自动回收)。

  • 尝试调整httpx版本
    你当前用的0.26.1版本可能和Snowflake的Python 3.10运行环境存在兼容性问题。可以试试降级到更稳定的0.25.x系列,或者升级到最新的稳定版,看看能不能解决这个连接错误。

另外,你可以先做个简单的测试:在存储过程里用httpx请求一个公开的测试API(比如http://httpbin.org/get),如果同样报错,那大概率是Snowflake的网络或资源限制问题;如果能正常返回,再去排查谷歌翻译API的具体调用细节。

备注:内容来源于stack exchange,提问作者user12206796

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:53:14