ืฉืืื ืืืืื!
ืืืฉืืื ืืื ืืืืงืื - ืืฉ ืืจืืื, ืืืืฆืืช ืืชืืื ื ืืืขืื, ืฉืฆืจืื ืืืชืืืื ื-N ืฉืจืชืื ืขื
NiFi ืืชืจ ืืืชืจ (S2S) ืืื ืืจื ืืืืืืืช ืื ืืชื ืช ืืืืืจื ืืงืืืช ืืืขืืจืช ื ืชืื ืื ืืื ืืืคืขื NiFi. ืืื S2S ืขืืื, ืจืื
ืืืงืจืื ืืื ืื ื ืืืืจืื ืขื ืืขืืจืช ื ืชืื ืื ืืืืฆืขืืช S2S, ืืืคืข ืืื ื ืงืจื ืืงืื, ืืฉืจืช ืืฉื ื. ืืืงืื ืฉืืื ื ืชืื ืื, ืืฉืจืช ืืงืื. ืฉืชื ืืจืืื ืืืืืืจ ืืขืืจืช ื ืชืื ืื ืืื ืืื:
- ืืืืฃ. ืืืืคืข ืืืงืื, ืื ืชืื ืื ื ืฉืืืื ืืืืฆืขืืช ืงืืืฆืช ืชืืืืืื ืืจืืืงืช (RPG). ืืืืคืข ืืฉืจืช, ืื ืชืื ืื ืืชืงืืืื ืืืืฆืขืืช ืืฆืืืช ืืงืื
- ืืฉืื. ืืฉืจืช ืืงืื ื ืชืื ืื ืืืืฆืขืืช RPG, ืืืงืื ืฉืืื ืืืืฆืขืืช ืืฆืืืช ืคืื.
ืืจืืืช ืืืคืฆื ืืืืืกื ืช ื- Apache Registry.
Apache NiFi Registry ืืื ืชืช-ืคืจืืืงื ืฉื Apache NiFi ืืืกืคืง ืืื ืืืืกืื ืืจืืื ืืืงืจืช ืืจืกืืืช. ืกืื ืฉื GIT. ืืืืข ืขื ืืชืงื ื, ืืืืจื ืืขืืืื ืขื ืืจืืฉืื ื ืืชื ืืืฆืื ื
ืืืชืืื, ืืืฉืจ N ืืื ืืกืคืจ ืงืื, ืืืจืืื ืืืขืืจืช ืืืชืขืืื ืช ืืืืคื ืืื ื ืืืื ืืงืืื.
ืืื ืืื ืฉ-N ืืื, ืืืขืืืช ื ืขืฉืืช ืจืืืช ืืืชืจ:
- ืืืงื ืืืชืจ ืืื ืืขืืื ืืช ืืืจืืื. ืืชื ืฆืจืื ืืืืื ืก ืืื ืืฉืจืชืื
- ืืชืจืืฉืืช ืฉืืืืืช ืขืืืื ืชืื ืืช. ืืื ืขืืื ื ืืช ืื, ืืื ืืื ืฉืืื
- ืืขืืืืช ืื ืืฉ ืืขืช ืืืฆืืข ืืกืคืจ ืจื ืฉื ืคืขืืืืช ืืืืืช
ืื ืื ืืืื ืืืชื ื ืืขืืืื ืฉืขืืื ื ืืืคืื ืืช ืืชืืืื ืืืืืืืื. ื ืืกืืชื ืืช ืืืจืืื ืืืืืช ืืคืชืืจ ืืช ืืืขืื:
- ืืฉืชืืฉ ื-MiNiFi ืืืงืื ื-NiFi
- NiFi CLI
- NiPyAPI
ืฉืืืืฉ ื-MiNiFi
ืคืจืืืงื ืืฉื ื ื ืืกืฃ ืืขืืืจ ืืคืชืืจ ืืขืื ืื - ืฉืจืช MiNiFi C2. ืืืฆืจ ืื ื ืืขื ืืืืืช ืื ืงืืื ืืืจืืืืช ืืืจืืืืงืืืจืช ืืฉืงืช ืืชืฆืืจื. ืืืฆื ืืืืืืจ ืืช ืืกืืืื - ืืชืืืจ ื
ืืืคืฉืจืืช ืืืชืืืจืช ืืืืืจ ืืขืื ืขืืืืช ืืื ืงืฉื ืืืืฉืื, ืื ืืกืืจ ืื ื ืืฉืืื ืืช ืืืืจืื ืืืืื:
- ื-Minifi ืืื ืืช ืื ืืืขืืืื ื-nifi
- ืืจืกืืืช ืืขืื Minifi ืืคืืจืืช ืืืจื ืืจืกืืืช ืืขืื NiFi.
ืืืื ืืืชืืื, ืืืจืกื ืืขืืื ืืช ืืืืชืจ ืฉื NiFi ืืื 1.9.2. ืืจืกืช ืืขืื ื-MiNiFi ืืขืืื ืืช ืืืืชืจ ืืื 1.7.0. ื ืืชื ืืืืกืืฃ ืืขืืืื ื-MiNiFi, ืื ืขืงื ืคืขืจื ืืจืกืืืช ืืื ืืขืืื NiFi ื-MiNiFi, ืืืชืื ืฉืืืืจ ืื ืืขืืื.
NiFi CLI
ืื ืืฉืคืื ืืคื
ืืคืขื ืืช ืืื ืืฉืืจืืช
./bin/cli.sh
_ ___ _
Apache (_) .' ..](_) ,
_ .--. __ _| |_ __ )
[ `.-. | [ |'-| |-'[ | /
| | | | | | | | | | ' '
[___||__][___][___] [___]', ,'
`'
CLI v1.9.2
Type 'help' to see a list of available commands, use tab to auto-complete.
ืขื ืื ืช ืฉื ืืื ืืืขืื ืืช ืืืจืืื ืื ืืจืฉืช ืืืจืืฉืื, ืขืืื ื ืืืขืช ืืช ืืืืืื ืฉื ืืืื (ืืืื ืืื) ืืืืจืืื ืขืฆืื (ืืืื ืืจืืื). ื ืืชื ืืงืื ื ืชืื ืื ืืื ืืจื ื-cli ืื ืืืืฉืง ืืืื ืืจื ื ืฉื ืืจืืฉืื ืฉื NiFi. ืืืืฉืง ืืืื ืืจื ื ืื ื ืจืื ืื:
ืืืืฆืขืืช CLI ืื ื ืขืฉื:
#> registry list-buckets -u http://nifi-registry:18080
# Name Id Description
- -------------- ------------------------------------ -----------
1 test_bucket 709d387a-9ce9-4535-8546-3621efe38e96 (empty)
#> registry list-flows -b 709d387a-9ce9-4535-8546-3621efe38e96 -u http://nifi-registry:18080
# Name Id Description
- ------------ ------------------------------------ -----------
1 test_flow d27af00a-5b47-4910-89cd-9c664cd91e85
ืื ื ืืชืืืืื ืืืืื ืงืืืฆืช ืชืืืืืื ืืืจืืฉืื:
#> nifi pg-import -b 709d387a-9ce9-4535-8546-3621efe38e96 -f d27af00a-5b47-4910-89cd-9c664cd91e85 -fv 1 -u http://nifi:8080
7f522a13-016e-1000-e504-d5b15587f2f3
ื ืงืืื ืืฉืืื ืืื ืฉื ืืชื ืืฆืืื ืื ืืืคืข ืฉื nifi ืืืืจื ืืืื ืื ื ืืืืืืื ืืช ืงืืืฆืช ืืชืืืื.
ืงืืืฆืช ืชืืืืืื ืฉื ืืกืคื ืขื ืืขืืืื ืฉืืืคืกืงื, ืืฉ ืืืคืขืื ืืืชื
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
ืืขืืื, ืืืขืืืื ืืชืืืื. ืขื ืืืช, ืืืชืื ืืชื ืื ืืืฉืืื, ืื ื ืืงืืงืื ืืืืคืขื NiFi ืืื ืืฉืืื ื ืชืื ืื ืืืืคืขืื ืืืจืื. ื ื ืื ืฉืืืจืช ืืฉืืืช Push ืืืขืืจืช ื ืชืื ืื ืืฉืจืช. ืืื ืืืจืื ืืช ืืขืืจืช ืื ืชืื ืื, ืขืืื ืืืคืฉืจ ืืขืืจืช ื ืชืื ืื ืืงืืืฆืช ืืชืืืืืื ืืืจืืืงืื (RPG) ืื ืืกืคืช, ืฉืืืจ ื ืืืืช ืืืจืืื ืฉืื ื.
ืืชืืขืื ื-CLI ืืืืงืืจืืช ื ืืกืคืื, ืื ืืฆืืชื ืืจื ืืืคืฉืจ ืืขืืจืช ื ืชืื ืื. ืื ืืชื ืืืืข ืืื ืืขืฉืืช ืืืช, ืื ื ืืชืื ืืชืืืืืช.
ืืืืืื ืฉืืฉ ืื ื bash ืืื ืื ื ืืืื ืื ืืืืช ืขื ืืกืืฃ, ื ืืฆื ืืืฆื! ืืชื ืืืื ืืืฉืชืืฉ ื-NiFi API ืืื ืืคืชืืจ ืืขืื ืื. ืืื ื ืฉืชืืฉ ืืฉืืื ืืืื, ื ืืงื ืืช ืืืืื ืืืืืืืืืช ืืืขืื (ืืืงืจื ืฉืื ื ืื 7f522a13-016e-1000-e504-d5b15587f2f3). ืชืืืืจ ืฉืืืืช ื-API ืฉื NiFi
ืืืืฃ ืืชื ืฆืจืื ืืขืืืจ ืืช JSON, ืื:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
ืคืจืืืจืื ืฉืฆืจืื ืืืื ืืื ืฉืื ืืขืืื:
ืืื - ืืฆื ืืขืืจืช ื ืชืื ืื. ืืืื: TRANSMITTING ืืื ืืืคืฉืจ ืืขืืจืช ื ืชืื ืื, STOPPED ืืื ืืืฉืืืช
ืืจืกื - ืืจืกืช ืืขืื
ืืจืกื ืชืืื ืืจืืจืช ืืืืื ื-0 ืืขืช ืืฆืืจืชื, ืื ื ืืชื ืืงืื ืืช ืืคืจืืืจืื ืืืื ืืืืฆืขืืช ืืฉืืื
ืืืืืื ืชืกืจืืื ืืืฉ, ืืฉืืื ืืื ืืืื ื ืจืืืช ืืชืืืื, ืืื ืืื ืงืฆืช ืงืฉื ืื - ืชืกืจืืื ืืืฉ ืื ืื ืืืืืืื ืขืืื. ืืฉืืื ืืืื ืืืชืจ ืืขื ืืื ืช ืื ืืื ืืืขืชื.
NiPyAPI
NiPyAPI ืืื ืกืคืจืืืช Python ืืืื ืืจืืงืฆืื ืขื ืืืคืขื NiFi.
ืืกืงืจืืคื ืฉืื ื ืืืคืขืืช ืืชืฆืืจื ืืื ืชืืื ืืช ื- Python. ืืืื ื ืขืืืจ ืืงืืืื.
ืืืืจื ื ืืืืจืืช ืืขืืืื ื ืืกืคืช. ื ืฆืืจื ืืช ืืคืจืืืจืื ืืืืื:
nipyapi.config.nifi_config.host = 'http://nifi:8080/nifi-api' #ะฟััั ะดะพ nifi-api ะธะฝััะฐะฝัะฐ, ะฝะฐ ะบะพัะพัะพะผ ัะฐะทะฒะพัะฐัะธะฒะฐะตะผ process group
nipyapi.config.registry_config.host = 'http://nifi-registry:18080/nifi-registry-api' #ะฟััั ะดะพ nifi-registry-api registry
nipyapi.config.registry_name = 'MyBeutifulRegistry' #ะฝะฐะทะฒะฐะฝะธะต registry, ะบะฐะบ ะฑัะดะตั ะฝะฐะทัะฒะฐัััั ะฒ ะธะฝััะฐะฝัะต nifi
nipyapi.config.bucket_name = 'BucketName' #ะฝะฐะทะฒะฐะฝะธะต bucket, ะธะท ะบะพัะพัะพะณะพ ะฟะพะดััะณะธะฒะฐะตะผ flow
nipyapi.config.flow_name = 'FlowName' #ะฝะฐะทะฒะฐะฝะธะต flow, ะบะพัะพัะพะต ะฟะพะดััะณะธะฒะฐะตะผ
ืืืืจ ืืื ืืื ืืก ืืช ืฉืืืช ืืฉืืืืช ืฉื ืกืคืจืืื ืื, ืืืชืืืจืืช
ืืืจ ืืช ืืจืืฉืื ืืืืคืข nifi ืืืืฆืขืืช
nipyapi.versioning.create_registry_client
ืืฉืื ืื, ืชืืื ืื ืืืืกืืฃ ืืืืงื ืฉืืจืืฉืื ืืืจ ืืชืืืกืฃ ืืืืคืข; ืืฉื ืื ืชืืื ืืืฉืชืืฉ ืืฉืืื
nipyapi.versioning.list_registry_clients
ืื ื ืืืฆืืื ืืช ืืืื ืืืืคืืฉ ื ืืกืฃ ืืืจ ืืจืืื ืืกื
nipyapi.versioning.get_registry_bucket
ืืขืืจืช ืืืื ืฉื ืืฆื, ืื ื ืืืคืฉืื ืืจืืื
nipyapi.versioning.get_flow_in_bucket
ืืืืจ ืืื, ืืฉืื ืืืืื ืืื ืงืืืฆืช ืืชืืืื ืืื ืืืจ ื ืืกืคื. ืงืืืฆืช ืืชืืืื ืืืืงืืช ืขื ืคื ืงืืืืจืืื ืืืช ืืขืืื ืืืืืืฆืจ ืืฆื ืฉืื ืจืืื ืฉื ื ืืืฆื ืขื ืืื ืืื. ืืืงืชื, ืื ืืืื ืืงืจืืช :) ืืื ืืงืื ืืช ืื ืงืืืฆืืช ืืชืืืื ืฉื ืืกืคื ืื ื ืืฉืชืืฉืื ืืฉืืื
nipyapi.canvas.list_all_process_groups
ืื ืื ื ืืืืืื ืืืืฉืื ืืืคืฉ, ืืืฉื, ืืคื ืฉื.
ืื ืืชืืจ ืืช ืชืืืื ืขืืืื ืืชืื ืืช, ืจืง ืืืื ืฉืื ืืชืืืกืคื ืืขืืืื ืืืจืกื ืืืืฉื ืฉื ืืชืื ืืช, ืื ืืื ืืขืืืช ืื ืืืืืช ืืืืขืืช ืืชืืจืื. ืืื ืื ืืกืืจืื ืืขืืืื, ืื ืขืืืืืช ืืืืืืฆืจ ืืขืืืช (nifi ืื ืืืคืฉืจ ืืืกืืจ ืืขืื ืื ืืฆืืืจ ืืคื ืื ืชืืจ ืืืืขืืช). ืื ืืชื ืืขืื ืืื ืืืฆื ืคืชืจืชื ืืช ืืืขืื, ืื ื ืืชืื ืื ืื ืืื ืื ืืฉื ืื. ืื ืฉื ืงืฉืจ ืืกืืฃ ืืืืืจ. ื ืขืืืจ ืืฉืื ืฉื ืืืกืคืช ืงืืืฆืช ืชืืืื.
ืืขืช ืืืชืืจ ืืืืื ืืกืงืจืืคื, ื ืชืงืืชื ืืืืืื ืฉืืืจืกื ืืขืืื ืืช ืืืืชืจ ืฉื ืืจืืื ืื ืชืืื ื ืืฉืืช ืืืขืื, ืื ืื ื ืืืืืฅ ืืืืืง ืชืืืื ืืช ืืืจืกื ืืื:
nipyapi.versioning.get_latest_flow_ver
ืงืืืฆืช ืชืืืืื ืคืจืืก:
nipyapi.versioning.deploy_flow_version
ืื ื ืืคืขืืืื ืืช ืืืขืืืื:
nipyapi.canvas.schedule_process_group
ืืืืืง ืขื CLI ื ืืชื ืฉืืขืืจืช ื ืชืื ืื ืื ืืชืืคืฉืจืช ืืืืืืืืช ืืงืืืฆืช ืืชืืืื ืืืจืืืงืช? ืืขืช ืืืืขืช ืืกืงืจืืคื, ืื ืื ื ื ืชืงืืชื ืืืขืื ืื. ืืืืชื ืืื, ืื ืืฆืืืชื ืืืชืืื ืืืขืืจืช ื ืชืื ืื ืืืืฆืขืืช ื-API ืืืืืืชื ืืืชืื ืืืคืชื ืกืคืจืืืช NiPyAPI ืืืืงืฉ ืขืฆื/ืขืืจื. ืืืื ืืืื ืื, ืื ื ืืืขืื ืืืื ืืชื ืฉืืื ืฆืจืื ืืื "ืืืืืง ืืฉืื". ืืื, ืืื ืืืื ืืืืจ ืืื, ืืืืข ืืืชื ืื ืืชืืื ืคืื ืงืฆืื ืืคืืืชืื ืฉืคืืชืจืช ืืช ืืขืืืช ืืืฉืงื ืฉืื!!! ืืืืชื ืืื, ืืจืกืช NiPyAPI ืืืืชื 0.13.3 ืืืืืื, ืื ืืื ืืืจ ืืื. ืืื ืืืจืกื 0.14.0, ืฉืฉืืืจืจื ืืืฉ ืืืืจืื ื, ืคืื ืงืฆืื ืื ืืืจ ื ืืืื ืืกืคืจืืื. ืึดืคึฐืืึนืฉื,
nipyapi.canvas.set_remote_process_group_transmission
ืื, ืืืืฆืขืืช ืกืคืจืืืช NiPyAPI, ืืืืจื ื ืืช ืืจืืฉืื, ืืคืขืื ื ืืจืืื, ืืืคืืื ืืชืืื ื ืืขืืืื ืืืขืืจืช ื ืชืื ืื. ืื ืืชื ืืืื ืืกืจืืง ืืช ืืงืื, ืืืืกืืฃ ืื ืืื ื ืฆ'ืงืื, ืจืืฉืื, ืืื ืืื. ืืื ืื ืกืืคืืจ ืืืจ ืืืืจื.
ืืืื ืืคืฉืจืืืืช ืืืืืืืฆืื ืฉืฉืงืืชื, ืืืืจืื ื ื ืจืืชื ืื ืืืขืืื ืืืืชืจ. ืจืืฉืืช, ืื ืขืืืื ืงืื ืคืืชืื, ืฉืื ืืชื ืืืื ืืืืืืข ืงืื ืชืืื ืืช ืขืืจ ืืื ืฆื ืืช ืื ืืืชืจืื ืืช ืฉื ืฉืคืช ืืชืื ืืช. ืฉื ืืช, ืคืจืืืงื NiPyAPI ืืชืคืชื ืืืืคื ืคืขืื ืืืืงืจื ืฉื ืืขืืืช ืืชื ืืืื ืืืชืื ืืืคืชื. ืฉืืืฉืืช, NiPyAPI ืืื ืขืืืื ืืื ืืืืฉ ืืืชืจ ืืืื ืืจืืงืฆืื ืขื NiFi ืืคืชืจืื ืืขืืืช ืืืจืืืืช. ืืืืืื, ืืงืืืขื ืืื ืชืืจื ืืืืืขืืช ืจืืงืื ืืขืช ืืืจืืื ืืืื ื ืืชื ืืขืืื ืืช ืงืืืฆืช ืืชืืืื.
ืื ืืื. ืชืืืจืชื 3 ืืืฉืืช ืืืืืืืฆืื ืฉื ืืกืคืงืช ืืจืืื ื-NiFi, ืืืืืืืช ืฉืืคืชื ืขืืื ืืืืชืงื ืืื, ืืกืืคืงืชื ืงืื ืขืืืื ืืืืืืืฆืื ืฉื ืืกืืจื. ืื ืืชื ืืชืขื ืืื ืื ืืฉื ืืื ืืืื ื -
ืืงืืจ: www.habr.com