修改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()

相关推荐
JZC_xiaozhong9 分钟前
医疗器械行业供应商主数据管理:多视角下的破局与重构
大数据·数据库·重构·数据分析·mdm·主数据管理·数据集成与应用集成
yuxi202012 分钟前
我用 Python 自动化了这 10 个工作流程,每周省下 8 小时
python
yunyun3212312 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
6+h15 分钟前
【java IO】BIO、NIO、AIO 全面对比
java·python·nio
梨落秋霜17 分钟前
Python入门篇【正则表达式】
python·mysql·正则表达式
Hello.Reader19 分钟前
PySpark 安装保姆级教程pip、Conda、手动安装、Spark Connect 一次讲透(一)
python·spark·conda·pip
Csvn20 分钟前
Python 生成器与迭代器:惰性求值的强大力量
python
竹林81821 分钟前
用Python脚本批量发布Markdown文章,我踩了三个坑才搞定
python·markdown·自动化运维
Chase_______22 分钟前
【快速入手 Python 基础 | 第1章】:数据存储与运算
开发语言·python
hongyuyahei26 分钟前
GSPO策略损失完整演示
pytorch·python