Как написать службу контроллера в nipyapi?

#apache-nifi #nipyapi

#apache-nifi #nipyapi

Вопрос:

 # -*- coding: utf-8 -*-
"""
Created on Mon Oct 12 16:42:29 2020

@author: nitin.jaiswal
"""

import nipyapi
import requests
import json
nipyapi.config.nifi_config.host = 'http://localhost:8080/nifi/'
nipyapi.canvas.get_controller('DistributedMapCacheClientService', 
                              identifier_type='name', bool_response=False)
#Enable Controler
headers = {'Content-Type': 'application/json'}
url = 'http://localhost:8080/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)
  

Я написал это для автоматизации процесса, но я не знаю, почему служба контроллера не работает

Ответ №1:

Вы не можете писать компоненты NiFi на Python. Все компоненты должны быть разработаны на языке JVM (Java, Kotlin, Groovy, Scala и др.). Кроме того, Nipyapi предназначен для того, чтобы быть клиентским API, помогающим вам писать собственные административные функции и тому подобное в NiFi.