如何从 Volttron 代理加载存储在配置存储中的 csv?
How do you load a csv stored in the config store from Volttron agent?
我有一个包含系列数据的 CSV/Raw 文件,我希望我的代理在启动时从配置存储中读取它。
我遵循的步骤:
存储配置:
volttron-ctl 配置存储 myagent mycsv.csv -c mycsvfile.csv --csv
然后我可以得到内容:
volttron-ctl 配置获取 myagent my.csv
在我的代理配置中我指定:
{
"mycsv": "config://myagent/mycsv.csv"
}
在我的代理中,我尝试存储配置。
def myagent(config_path, **kwargs):
try:
config = utils.load_config(config_path)
except StandardError:
config = {}
if not config:
_log.info("Using Agent defaults for starting configuration.")
mycsv = config.get('mycsv', '')
mycsv 始终return 字符串"config://myagent/mycsv.csv"
您可以尝试的一件事是 "subscribing" 更改配置存储。
例如,如果您将配置存储为:
volttron-ctl config store myagent data/mydata.csv -c mydata.csv --csv
您可以通过以下方式添加回调挂钩:
def __init__(self, **kwargs):
...
self.vip.config.subscribe(self.read_data, actions=["NEW"], pattern="data/mydata.csv")
def read_data(self, config_path, action, contents):
# Do stuff
pass
我有一个包含系列数据的 CSV/Raw 文件,我希望我的代理在启动时从配置存储中读取它。
我遵循的步骤:
存储配置:
volttron-ctl 配置存储 myagent mycsv.csv -c mycsvfile.csv --csv
然后我可以得到内容:
volttron-ctl 配置获取 myagent my.csv
在我的代理配置中我指定:
{ "mycsv": "config://myagent/mycsv.csv" }
在我的代理中,我尝试存储配置。
def myagent(config_path, **kwargs):
try:
config = utils.load_config(config_path)
except StandardError:
config = {}
if not config:
_log.info("Using Agent defaults for starting configuration.")
mycsv = config.get('mycsv', '')
mycsv 始终return 字符串"config://myagent/mycsv.csv"
您可以尝试的一件事是 "subscribing" 更改配置存储。
例如,如果您将配置存储为:
volttron-ctl config store myagent data/mydata.csv -c mydata.csv --csv
您可以通过以下方式添加回调挂钩:
def __init__(self, **kwargs):
...
self.vip.config.subscribe(self.read_data, actions=["NEW"], pattern="data/mydata.csv")
def read_data(self, config_path, action, contents):
# Do stuff
pass