В AuP есть техническая возможность импорта данных из CSV для массового добавления устройств.
Импорт доступен только из консоли, для этого необходимо подготовить файл в формате CSV.
Пример файла
mac;name;description;account_id;account_uuid 24:6a:d4:fa:72:0d;test_name;test description;1111@eltex.loc; a4:6a:d4:da:71:4d;;;;04d8d980-cbbc-46d8-9d4d-02bb4994b150
В этом файле:
- mac — mac-адрес устройства;
- name — название устройства;
- description — описание устройства;
- account_id — id аккаунта удаленной системы (используется при интеграции с SSW 4819@ssw.eltex.loc — формат номер@cип_домен);
- account_uuid — uuid аккаунта на AuP.
При указании одновременно account_uuid и account_id будет использоваться account_uuid!
Для того чтобы выполнить импорт:
1. Передайте подготовленный файл в контейнер Core
$ docker cp device_import.csv autoprovision-stable_core_1:/tmp/aup_devices.csv
2. Выполните подключение к контейнеру и сервису Core
$ docker exec -it autoprovision-stable_core_1 bash
$ ./ecss_aup_core remote
3. Выполните запуск импорта
> EcssAupCore.run_devices_import_from_csv()
По умолчанию команда ожидает, что файл импорта будет располагаться по пути /tmp/aup_devices.csv.
Если требуется изменить путь внутри контейнера, то его можно передать первым аргументом в функцию^
> EcssAupCore.run_devices_import_from_csv("/tmp/other/import.csv")
Также команда принимает следующие опции:
- update_if_exist — обновление уже существующих устройств (устанавливает name и description в соответствии с файлом). По умолчанию — false;
- rewrite_link — перезапись связанных аккаунтов в соответствии с файлом. По умолчанию — false.
Опции могут быть переданы следующим образом:
> EcssAupCore.run_devices_import_from_csv([update_if_exist: true, rewrite_link: true])
> EcssAupCore.run_devices_import_from_csv("/path/import.csv", [update_if_exist: true, rewrite_link: true])