0

我有一个包含系列数据的 CSV/Raw 文件,我希望我的代理在启动时从配置存储中读取。

我正在遵循的步骤:

  1. 存储配置:

    volttron-ctl config store myagent mycsv.csv -c mycsvfile.csv --csv

  2. 然后我可以得到内容:

    volttron-ctl 配置获取 myagent my.csv

  3. 在我的代理配置中,我指定:

{ "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 始终返回字符串“config://myagent/mycsv.csv”

4

1 回答 1

1

您可以尝试的一件事是“订阅”对配置存储的更改。

例如,如果您将配置存储为:

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
于 2019-10-08T12:38:48.640 回答