ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
ΠΠ°Π΄Π°ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ β Π΅ΡΡΡ flow, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π΄ΠΎ ΡΠ°ΡΠΊΠ°ΡΠΈΡΡ Π½Π° N ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ
NiFi Site to Site (S2S) β Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ, Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ NiFi. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ S2S ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²
Π ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ S2S β ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΠ°Π½Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ, Π²ΡΠΎΡΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ β ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ. ΠΠ²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ:
- Push. Π‘ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠ° Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Remote Process Group (RPG). ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Input Port
- Pull. Π‘Π΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RPG, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Output port.
Flow Π΄Π»Ρ ΡΠ°ΡΠΊΠ°ΡΠΊΠΈ Ρ
ΡΠ°Π½ΠΈΠΌ Π² Apache Registry.
Apache NiFi Registry β ΠΏΠΎΠ΄ΠΏΡΠΎΠ΅ΠΊΡ Apache NiFi, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ flow ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΡΠ°ΠΊΠΈΠΉ GIT. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ registry ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²
ΠΠ° ΡΡΠ°ΡΡΠ΅, ΠΊΠΎΠ³Π΄Π° N ΠΌΠ°Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, flow Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΡΠΊΠ°ΠΌΠΈ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠΎ Ρ ΡΠΎΡΡΠΎΠΌ N, ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅:
- Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ flow ΡΡ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°Π΄ΠΎ Π·Π°ΠΉΡΠΈ Π½Π° Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°
- Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΠΎΡ ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ, Π° ΡΡΡ Π·Π°Π±ΡΠ»ΠΈ
- ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
ΠΡΡ ΡΡΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ Π½Π°Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°Π΄ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MiNiFi Π²ΠΌΠ΅ΡΡΠΎ NiFi
- NiFi CLI
- NiPyAPI
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ MiNiFi
Π Π΅ΡΠΈΡΡ ΡΠ°ΠΊΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄ΠΏΡΠΎΠ΅ΠΊΡ β MiNiFi C2 Server. ΠΡΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠ°ΡΠΊΠ°ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠ°ΠΊ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ β ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²
ΠΠ°ΡΠΈΠ°Π½Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΡΠ°ΡΡΠ΅ Π²ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΈ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ Π½Π°Π΄ΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- Π 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.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΌ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ flow ΠΈΠ· registry, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π½Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΊΠΎΡΠ·ΠΈΠ½Ρ (bucket identifier) ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ flow (flow identifier). ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· cli, Π»ΠΈΠ±ΠΎ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ NiFi registry. Π Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ 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
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠΌΠΏΠΎΡΡ process group ΠΈΠ· registry:
#> 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
ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΠΎΡΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°ΠΊΠ°ΡΡΠ²Π°Π΅ΠΌ process group ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ Π»ΡΠ±ΠΎΠΉ ΠΈΠ½ΡΡΠ°Π½Ρ nifi.
Process group Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΎ ΡΡΠΎΠΏΠ½ΡΡΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ, ΠΈΡ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΡΠ°ΡΡΠ°Π½ΡΠ»ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°ΠΌ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π·Π°Π΄Π°ΡΠΈ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΠ°Π½ΡΡ NiFi ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Push. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π°Π΄ΠΎ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΌ Remote Process Group (RPG), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π½Π°Ρ flow Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ (Enable transmitting).
Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² CLI ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ
Ρ Π½Π΅ Π½Π°ΡΠ΅Π» ΡΠΏΠΎΡΠΎΠ±Π° Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ
. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β Π½Π°ΠΏΠΈΡΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
.
Π Π°Π· ΡΠΆ Ρ Π½Π°Ρ bash ΠΈ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΈΠ΄ΡΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° β Π½Π°ΠΉΠ΄Π΅ΠΌ Π²ΡΡ
ΠΎΠ΄! ΠΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ NiFi API Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ID Π±Π΅ΡΠ΅ΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΡΡΠ΅ (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ 7f522a13-016e-1000-e504-d5b15587f2f3). ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² NiFi API
Π body Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ JSON, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ βΠ·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎβ:
state β ΡΡΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
. ΠΠΎΡΡΡΠΏΠ½ΠΎ TRANSMITTING Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
, STOPPED Π΄Π»Ρ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
version β Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
version ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ 0 ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ, Π½ΠΎ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄
ΠΠ»Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ bash ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ, Π½ΠΎ ΠΌΠ½Π΅ ΡΡΠΆΠ΅Π»ΠΎΠ²Π°ΡΠΎ β bash ΡΠΊΡΠΈΠΏΡΡ Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠ΅ Π»ΡΠ±ΠΈΠΌΠΎΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅ ΠΈ ΠΏΠΎΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄.
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, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ
ΠΠ°Π»ΡΡΠ΅ Π±ΡΠ΄Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ registry ΠΊ ΠΈΠ½ΡΡΠ°Π½ΡΡ nifi Ρ ΠΏΠΎΠΌΠΎΡΡΡ
nipyapi.versioning.create_registry_client
ΠΠ° ΡΡΠΎΠΌ ΡΠ°Π³Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ registry ΡΠΆΠ΅ ΠΊ ΠΈΠ½ΡΡΠ°Π½ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
nipyapi.versioning.list_registry_clients
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ bucket Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° flow Π² ΠΊΠΎΡΠ·ΠΈΠ½Π΅
nipyapi.versioning.get_registry_bucket
ΠΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡ bucket ΠΈΡΠ΅ΠΌ flow
nipyapi.versioning.get_flow_in_bucket
ΠΠ°Π»ΡΡΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π»ΠΈ ΡΠΆΠ΅ ΡΡΠΎΡ process group. Process group ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π°Π»ΠΎΠΆΠΈΡΡΡ Π²ΡΠΎΡΠΎΠΉ. Π― ΠΏΡΠΎΠ²Π΅ΡΡΠ», ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ π Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ process group ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄
nipyapi.canvas.list_all_process_groups
ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
Π― Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠΊΠ°ΠΆΡ Π»ΠΈΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ, ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ Π½Π΅Ρ. Π Π²ΠΎΡ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ (nifi Π½Π΅ Π΄Π°Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ ΡΠΊΠΎΠΏΠΈΠ»Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ). ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ Ρ ΡΠ΅ΡΠΈΠ» ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠΎΠ½ΡΠ°ΠΊΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°Π³Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ process group.
ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ flow, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΡΠ½ΠΈΡΡ:
nipyapi.versioning.get_latest_flow_ver
ΠΠ΅ΠΏΠ»ΠΎΠΈΠΌ process group:
nipyapi.versioning.deploy_flow_version
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ:
nipyapi.canvas.schedule_process_group
Π Π±Π»ΠΎΠΊΠ΅ ΠΏΡΠΎ CLI Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ Π² remote process group Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ? ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΎΠΆΠ΅. ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΈ Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NiPyAPI ΠΈ ΡΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠ²Π΅ΡΠ°/ΠΏΠΎΠΌΠΎΡΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠ½Π΅ ΠΎΡΠ²Π΅ΡΠΈΠ», ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π», ΡΡΠΎ Π΅ΠΌΡ Π½Π°Π΄ΠΎ Π²ΡΠ΅ΠΌΡ βΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΅-ΡΡΠΎβ. Π Π²ΠΎΡ, ΡΠΏΡΡΡΡ ΠΏΠ°ΡΡ Π΄Π½Π΅ΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΈΡΡΠΌΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Python, ΡΠ΅ΡΠ°ΡΡΠ°Ρ ΠΌΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°!!! ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΈΡ NiPyAPI Π±ΡΠ»Π° 0.13.3 ΠΈ Π² Π½Π΅ΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ. Π Π²ΠΎΡ Π² Π²Π΅ΡΡΠΈΡ 0.14.0, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ»Π° ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΆΠ΅ Π²ΠΎΡΠ»Π° Π² ΡΠΎΡΡΠ°Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΡΡΠ΅ΡΠ°ΠΉΡΠ΅,
nipyapi.canvas.set_remote_process_group_transmission
ΠΡΠ°ΠΊ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NiPyAPI ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ registry, Π½Π°ΠΊΠ°ΡΠΈΠ»ΠΈ flow ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ΅ΡΡΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡ ΡΡΠΎ Π²ΡΡ. ΠΠΎ ΡΡΠΎ ΡΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³Π°Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΠΌΠ½ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠ΄ Π½Π° python, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΡΠΎΠ΅ΠΊΡ NiPyAPI Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ. Π-ΡΡΠ΅ΡΡΠΈΡ , NiPyAPI Π²ΡΠ΅ ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ NiFi Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ ΠΏΡΡΡΡΠ΅ Π»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΠΉΡΠ°Ρ Π² flow ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ process group.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π― ΠΎΠΏΠΈΡΠ°Π» 3 ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ flow Π² NiFi, ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΠΏΡΠΈΠ²Π΅Π» ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ. ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΡΠ° ΡΠ΅ΠΌΠ° β
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com