1

假设我有一个正在运行的带有 @RPC 修饰方法的 volttron 代理(如果相关的话)。有什么方法可以从 volttron 平台之外调用该方法?(在我的情况下,来自 django Web 服务器)

4

2 回答 2

0

代理可以在 VOLTTRON Web 服务上注册端点。可以根据需要为端点设置回调。

必须启用 Web 服务,并且代理需要将“enable_web=True”传递给基本代理构造函数。

您可以在此处找到文档和示例:http: //volttron.readthedocs.io/en/develop/specifications/webframework.html

于 2017-07-28T21:58:25.187 回答
0

除了kyle-monson提到的,您还必须使用 bind 参数运行 Volttron。这将在给定的绑定参数上公开已注册的端点。例如`volttron -vv --bind-web-address "https://127.0.0.1:7080"

在 ~/.volttron/config 中指定绑定网络地址

[volttron]
message-bus = rmq
bind-web-address = https://127.0.0.1:7080

然后你可以发送 HTTP POST 请求到https://127.0.0.1:7080/rpc-method-name

rpc-method-name在作为注册方法的请求 URL 中使用self.vip.web.register_endpoint("/rpc-method-name", self.call_back_method_for_endpoint)

回调方法接受两个参数“env”和“data”

有关这两个参数的更多详细信息,请查看此处的文档

于 2020-01-15T10:23:54.233 回答