Apache NiFi Controller Начать не работать с клиентом nipyapi - PullRequest
0 голосов
/ 07 июня 2019

Я использую клиент nipyapi для управления новыми развертываниями Apache NiFi и отлично работает, но у меня возникает проблема при попытке ВКЛЮЧИТЬ службы контроллера.

Моя настройка:

Я запускаю NiFi в докере, и каждый раз, когда запускается контейнер, происходит ряд шагов, таких как:

  • Сборка сервера NiFi - ОК
  • Загрузите temapltes.xml - ОК
  • Загрузка шаблонов в NiFi - ОК
  • Развертывание шаблонов на холсте NiFi - ОК
  • ENABLE Controller Service - ОШИБКА
import nipyapi
nipyapi.config.nifi_config.host = 'http://localhost:9999/nifi-api'
nipyapi.canvas.get_controller('MariaDB', identifier_type='name', bool_response=False)
#Enable Controler
headers = {'Content-Type': 'application/json'}
url = 'http://localhost:9999/nifi-api/flow/process-groups/'+nipyapi.canvas.get_root_pg_id()+'/controller-services'
r = requests.get(url)
reponse = json.loads(r.text)
controllerId = reponse['controllerServices'][0]['id']

nipyapi.canvas.schedule_controller(controllerId, 'True', refresh=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/nipyapi/canvas.py", line 1222, in schedule_controller
    assert isinstance(controller, nipyapi.nifi.ControllerServiceEntity)
AssertionError

Не уверен, что мне не хватает!

PS - я пробовал нифи-инструментарий, но он тоже не работает

 ./cli.sh nifi pg-enable-services --processGroupId 2b8b54ca-016b-1000-0655-c3ec484fd81d -u http://localhost:9999 --verbose

Иногда это работает, иногда не работает!

Я хотел бы придерживаться одного инструмента, например: toolkit или nipyapi (быстрее)

Любая помощь будет отличной! спасибо

1 Ответ

2 голосов
/ 08 июня 2019

В соответствии с ошибкой, NiPyAPI ожидает передачи объекта Controller, а не только его идентификатора.

...