Я использую два шага в Nifi:
Шаг 1. Процессор InvokeHTTP, чтобы выполнить вызов API REST и получить ответ JSON, «Поместить тело ответа в атрибут», используемый для хранения ответа JSON в атрибуте. .
Шаг 2. Процессор ExecuteStreamCommand для вызова скрипта Python. Атрибут ответа JSON от предыдущего передается здесь как входной аргумент. Аргумент команды для процессора:
/ home / kavipriya / script / Scaling.py; "$ {AssetModel}";
Но двойные кавычки удаляются из сообщения JSON и затем передаются вскрипт на питоне. Поэтому при разборе JSON я получаю следующую ошибку:
"json.decoder.JSONDecodeError: Ожидаемое имя свойства заключено в двойные кавычки: строка 3, столбец 5 (символ 10)"
Может кто-то сказатьМне почему двойные кавычки удаляются, когда сообщение JSON передается в качестве аргумента, а также если есть возможность сохранить двойные кавычки. Спасибо за вашу помощь!
Я приложил сообщение JSON, а также логи python, в которых отсутствуют двойные кавычки при чтении аргумента. Атрибут JSON с двойными кавычками, переданный скрипту Python Журнал, написанныйВ скрипте Python отсутствуют двойные кавычки Поток Nifi с ошибкой Скрипт Python