修改ETCD返回数据限额

问题

通过 get_prefix, get_range 等ETCD 接口查询大量数据时,报数据大小超过限额。

grpc_message:"Received message larger than max (5834875 vs. 4194304)"

原因

ETCD默认设置了4MB数据限额,如果返回的数据超过限额则会报错。

解决方法

解决方法也很直接,修改数据限额。

但问题是要修改哪一个参数?参数的格式?如何修改?

为了寻找找到答案,费了不少周折。因为用的是 ETCD Python 客户端,常见的 golang 方案不适用,网上 Python 客户端的文章也非常少。

功夫不负有心人,总于找到了答案。

  1. 参数是与 grpc 接收消息长度有关,名称为 grpc.max_receive_message_length;
  2. 在Python客户端,是在建立ETCD client的时候,通过 grpc_options 参数传递;
  3. grpc_options 的格式是 dict_items, 可以这样定义:

grpc_options = {'grpc.max_receive_message_length':1610241024}.items()

相关推荐
ValhallaCoder几秒前
hot100-栈
数据结构·python·算法·
MediaTea4 小时前
Python:生成器表达式详解
开发语言·python
-To be number.wan4 小时前
Python数据分析:SciPy科学计算
python·学习·数据分析
Dxy12393102164 小时前
DataFrame数据修改:从基础操作到高效实践的完整指南
python·dataframe
·云扬·5 小时前
MySQL 主从复制实战:Xtrabackup 高效部署方案
数据库·mysql
overmind6 小时前
oeasy Python 115 列表弹栈用pop删除指定索引
开发语言·python
Ama_tor6 小时前
从零开始MySQL|F盘安装,配置,简单应用以及基础语句
数据库·mysql
hnxaoli6 小时前
win10程序(十六)通达信参数清洗器
开发语言·python·小程序·股票·炒股
电饭叔6 小时前
文本为 “ok”、前景色为白色、背景色为红色,且点击后触发 processOK 回调函数的 tkinter 按钮
开发语言·python
雷电法拉珑7 小时前
财务数据批量采集
linux·前端·python