Google Cloud Speech to Text API 突发无法正常运行问题咨询
核心问题定位
你捕获的KeyboardInterrupt是手动终止程序触发的异常,并非API直接返回的报错。程序无响应的根因是Google Cloud Python SDK的默认重试逻辑:当API请求因异常失败时,SDK会进入无限重试循环,卡在重试等待阶段,看起来就像不接收任何输入。
排查解决步骤
- 检查API配额超限情况:登录Google Cloud控制台进入当前项目的Speech to Text API管理页,确认当日请求量是否触达免费额度上限、或你预先设置的配额阈值,配额超限是触发无提示重试的最常见原因。
- 验证服务与网络状态:确认你选择的API服务区域无服务故障,同时测试本地网络到Google Cloud API的连通性,可先运行一次非流式的简单语音识别请求,验证基础请求是否能正常返回。
- 确认鉴权与账户状态:检查你使用的服务账号密钥是否未过期、项目账户无欠费停用情况,鉴权失败的部分场景也会触发SDK无提示重试。
- 调整代码的重试与超时配置:修改
streaming_recognize的调用参数,手动设置超时时间与最大重试次数,避免程序无限卡死,修改示例如下:
from google.api_core.retry import Retry # 自定义重试策略,最多重试2次,总超时时间设为30秒 custom_retry = Retry(max_attempts=2) responses = client.streaming_recognize( streaming_config, requests, retry=custom_retry, timeout=30 )
调整配置后重新运行程序,若仍有问题会抛出明确的错误信息,可根据具体报错进一步定位。
内容的提问来源于stack exchange,提问作者Ajay Shah
相关产品推荐
相关产品推荐

