Python中文
首页
教程
问答
标签
搜索
登录
注册
python gRPC需要上下文参数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我刚开始使用gRPC,在阅读了入门指南之后,我尝试实现一个简单的python服务。但是当我调用我的客户机调用时,python要求提供一个上下文参数。为什么我的代码需要在示例中不需要上下文对象时提供它?在</p> <p>另外,我开始尝试创建自己的具体上下文子类,但不确定它应该如何实现。我已经添加了我的开始,但如果可能的话,我会非常感谢你的一个例子</p> <p>谢谢!在</p> <p><strong>原型文件</strong></p> <pre><code>syntax = "proto2"; package parsefile; service ParseFile { rpc SendFile (File) returns (Empty) {} } message File { message MetaData { optional string file_name = 1; optional string file_path = 2 [default = '.']; optional string mime_type = 3 [default = 'application/pdf']; } message Source { optional string title = 1; optional int32 id = 2; } optional MetaData document = 1; optional Source supplier = 2; } message Empty { } </code></pre> <p><strong>服务器</strong></p> ^{pr2}$ <p><strong>客户</strong></p> <pre><code>import grpc import parsefile_pb2_grpc import parsefile_pb2 def get_file_info(): return parsefile_pb2.File( document = parsefile_pb2.File.MetaData( file_name = 'example.txt' ), supplier = parsefile_pb2.File.Source( title = 'Example Supplier' ) ) def run(): channel = grpc.insecure_channel('localhost:50051') stub = parsefile_pb2_grpc.ParseFileStub(channel) context = RequestContext() print('object created') response = stub.SendFile(get_file_info()) print('File info sent to server') if __name__ == '__main__': run() </code></pre> <p><strong>错误跟踪</strong></p> <pre><code>Traceback (most recent call last): File "parse_client.py", line 60, in <module> run() File "parse_client.py", line 56, in run response = stub.SendFile(get_file_info(), 2) File "/Users/davidbowe/.virtualenvs/post/lib/python3.6/site-packages/grpc/_channel.py", line 507, in __call__ return _end_unary_response_blocking(state, call, False, deadline) File "/Users/davidbowe/.virtualenvs/post/lib/python3.6/site-packages/grpc/_channel.py", line 455, in _end_unary_response_bl ocking raise _Rendezvous(state, None, None, deadline) grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.UNKNOWN, Exception calling application: SendF ile() missing 1 required positional argument: 'context')> </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您不需要创建<code>context</code>参数,它是由grpc自动创建的。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
5 回答
无法使用Django Rest框架发送压缩的gzip数据
1 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
1 回答
无法使用Django、Python和JavaScrip触发onclick函数
7 回答
无法使用Django.views.generic.View保存表单
8 回答
无法使用Django(python 2.7,OS X 10.11.1)
6 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
9 回答
无法使用Django\u mssql\u后端迁移到外部hos
9 回答
无法使用Django&Python3.4连接到MySql
6 回答
无法使用Django+nginx上载媒体文件
8 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
10 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
4 回答
无法使用Djangocketditor上载图像(错误400)
8 回答
无法使用Djangocron进行函数调用
5 回答
无法使用Djangofiler djang上载文件
1 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
9 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
3 回答