SSH端口转发远程访问Couchbase,Python脚本报RequestCanceledException求助
解决Couchbase Python SDK请求被取消异常的办法
核心原因
浏览器访问Couchbase控制台仅需8091端口,但Python SDK执行数据操作时,需要和多个Couchbase服务端口(如KV、查询服务端口)通信,仅转发8091端口会导致SDK无法建立完整连接,进而触发RequestCanceledException。
具体解决步骤
补充SSH端口转发
在SSH端口转发命令中,添加Couchbase SDK必需的端口映射:ssh -L 8091:远程服务器IP:8091 -L 11210:远程服务器IP:11210 -L 8092:远程服务器IP:8092 你的SSH用户名@远程服务器IP若用到其他服务,可额外添加对应端口:
- 8093:搜索服务端口
- 8094:分析服务端口
- 11211:备用KV服务端口
修正代码变量错误
代码中upsert(f"airline_{id}", data)里的id是未定义变量,会引发NameError并导致请求异常,替换为data["id"]:bucket.default_collection().upsert(f"airline_{data['id']}", data)延长连接超时时间
端口转发存在网络延迟,原5秒等待时间可能不足,调整wait_until_ready的超时参数:cluster.wait_until_ready(timedelta(seconds=10))验证SDK与服务版本兼容性
确保Python SDK版本和远程Couchbase服务版本匹配:- Couchbase Server 7.x 对应 Python SDK 4.x
- Couchbase Server 6.x 对应 Python SDK 3.x
版本不兼容会导致连接逻辑异常。
内容的提问来源于stack exchange,提问作者Paloma Escribano
相关产品推荐
相关产品推荐

