python-3.x - python etcd3 引发 grpc._channel._InactiveRpcError
问题描述
我正在使用此模块 [1]:https ://github.com/kragniz/python-etcd3与 etcdv3 进行通信。我已经创建了所有必要的证书并测试了客户端与 curl 的安全连接。但是,尝试简单的 get 操作会失败。下面的代码片段和异常。
import etcd3
ca='/Users/PKI/etcd/ca.pem'
cert='/Users/PKI/etcd/client.pem'
key='/Users/PKI/etcd/client-key.pem'
etcd = etcd3.client(ca_cert=ca, cert_cert=cert, cert_key=key)
etcd.get('foo')
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses"
debug_error_string = "{"created":"@1594500226.366466000","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3948,"referenced_errors":[{"created":"@1594500226.366461000","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":394,"grpc_status":14}]}"
>
> /usr/local/lib/python3.8/site-packages/etcd3/client.py(46)handler()
-> return f(*args, **kwargs)
我没有用 grpc 做太多事情,所以我不确定是否应该传递一些选项来初始化 etcd3 客户端。
解决方案
推荐阅读
- apache-spark - 在写入和重新读取镶木地板文件时保留数据帧分区
- javascript - 会话变量不是用 AJAX 定义的 - Node.js
- spring - 在自己的授权服务器中实现 OAUTH 2.0 的 Spring Boot 2
- java - Libgdx i18nbundle 仅适用于根捆绑包
- ruby - 避免在Ruby中改变方法参数的好习惯?
- java - 我应该如何让 AES 在 Java 中处理任意长度的字符串?
- progressive-web-apps - 每页方向的 Web 应用清单
- javascript - TypeScript - 区分空类型和空对象值
- android - 迁移室数据库,alter table,android?
- javascript - 通过javascript将自定义功能分配给inDesign上的按钮