Менее чем за год после первого релиза версии 1.0.0, в инструменте появились следующие возможности:
- Добавлена функция фильтров для работы со значениями null.
- Реализована команда -l/--log-format, позволяющая выбрать формат логирования (json или plain).
- Добавлена индикация процесса анонимизации - через указанные промежутки выводятся данные о прогрессе выполнения операции.
- В версии 1.4 появилась возможность задавать значения полей с помощью внешних команд, через добавление в значение столбца "type: command". Например:
Код:
filters:
some_table_name:
columns:
some_column_name:
type: command
value: /path/to/command/or/script.sh
Если для столбца указано "type: command", то значение поля value воспринимается как файловых путь к команде, которая будет запущена каждый раз для этого поля. Во время выполнения команды будут доступны дополнительные переменные окружения:- ENVVARTABLE={TABLE_NAME}: содержит имя фильтруемой таблицы
- ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: содержит все столбцы и их значения (до замены) для текущей фильтруемой строки.
- Stdout будет использоваться в качестве нового значения для анонимизированного поля.
- Команда должна возвращать 0 код на выходе, иначе nxs-data-anonymizer завершается с ошибкой (в этом случае, в качестве текста ошибки будет использоваться stderr)
- Переменные окружения с данными строк доступны внутри команды:
ENVVARTABLE: содержит имя фильтруемой таблицы;
ENVVARCURCOLUMN: содержит имя текущего столбца;
ENVVARCOLUMN_{COLUMN_NAME}: содержит значения (до замен) для всех столбцов текущей строки.
Источник: https://www.opennet.ru/opennews/art.shtml?num=61062
(opennet.ru, мини-новости)