假设我有一个带有@RPC修饰方法的运行伏特器代理(如果相关的话)。有没有办法从伏特通平台外部调用该方法? (在我的情况下来自django网络服务器)
答案 0 :(得分:0)
代理可以在VOLTTRON Web服务上注册端点。可以根据需要为端点设置回调。
必须启用Web服务,并且代理需要将“enable_web = True”传递给基本代理构造函数。
您可以在此处找到文档和示例:http://volttron.readthedocs.io/en/develop/specifications/webframework.html
答案 1 :(得分:0)
除了kyle-monson提到的内容外,还必须使用bind参数运行Volttron。这将在给定的绑定arg上公开已注册的端点。 例如`volttron -vv --bind-web-address“ https://127.0.0.1:7080”
或在〜/ .volttron / config
中指定bind-web-address[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
是使用self.vip.web.register_endpoint("/rpc-method-name", self.call_back_method_for_endpoint)
回调方法采用两个参数“ env”和“ data”
有关这两个参数的更多详细信息,请检查文档here