Как вы загружаете CSV-файл, хранящийся в хранилище конфигурации от агента Volttron? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть файл CSV / Raw с данными о сериях, которые я хотел бы, чтобы мой агент считывал из хранилища конфигурации при его запуске.

Шаги, которые я выполняю:

  1. сохранить конфигурацию:

    сохранить конфигурацию volttron-ctl myagent mycsv.csv -c mycsvfile.csv --csv

  2. Затем я могу получить содержимое:

    Конфигурация volttron-ctl get 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 "

1 Ответ

1 голос
/ 08 октября 2019

Одна вещь, которую вы можете попробовать, это "подписаться" на изменения в хранилище настроек.

Например, если вы сохранили свою конфигурацию с помощью:

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
...