2013-04-29 40 views
1

我有两个appengine托管网站,并使用protorpc在它们上面定义了几个服务。推荐调用protoRPC定义的服务

的问题是,我希望有两个应用程序引擎服务之间的RPC调用。 有没有lib可以用来创建一个rpc客户端? 或者是否有任何建议的方式从appengine进行RPC调用?

回答

2

确保您能够看到重要备注说明

您可以通过创建服务库标准ProtoRPC的客户端,并使用它们来制作使用HTTPTransport类的应用程序之间的呼叫后。

远程模块的模块docstring具有有关如何使用存根控件进行连接的一些信息,只要您在客户端应用程序中包含服务和消息类的副本(或从注册表服务构建它们):

https://code.google.com/p/google-protorpc/source/browse/python/protorpc/remote.py?spec=svnc9ceffb855c0b0eeaebed381f91bd8326a98605f&r=4bd74add778c42d2b882b0915fa9b3ba64dc6437#88

的HttpTransport类可以在transport.py模块中找到。

在这种情况下,当您创建的应用程序,你会为它提供应用程序的URL,例如:

http://your-app.appspot.com/your/service/path

注意,这是通向你的服务,而不是路径到任何特定的方法。消息类将知道如何构建它下面的URL。

重要提示:如果您正在请求到公共服务(一个不需要适当的身份验证),那么这种方法将正常工作。但是,如果您需要控制访问权限,则可能需要使用urlfetch库直接发出请求,以便提供额外的身份验证信息,并可能需要服务器端的WSGI层来拦截授权信息。 ProtoRPC目前没有很好的认证选项!