αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache NiFi

αž‡αŸ†αžšαžΆαž”αžŸαž½αžšαž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ!

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache NiFi

αž—αžΆαžšαž€αž·αž…αŸ’αž…αž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ - αž˜αžΆαž“αž›αŸ†αž αžΌαžšαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αžαžΆαž„αž›αžΎ αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž€αžΆαž“αŸ‹ N servers αž‡αžΆαž˜αž½αž™ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Apache NiFi. αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž›αŸ†αž αžΌαžš - αž―αž€αžŸαžΆαžšαž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹αžœαžαŸ’αžαž» NiFi αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ NiFi Site to Site protocolαŸ”

NiFi Site to Site (S2S) αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž’αžΆαž…αž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αž”αžΆαž“αžαŸ’αž–αžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαžœαžΆαž„ NiFi instancesαŸ” αž˜αžΎαž›αžšαž”αŸ€αž”αžŠαŸ‚αž› S2S αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž―αž€αžŸαžΆαžš αž αžΎαž™αžœαžΆαž‡αžΆαžšαžΏαž„αžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž„αž…αžΆαŸ†αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„αž§αž‘αžΆαž αžšαžŽαŸ NiFi αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™ S2S αž˜αžΎαž›αžƒαžΎαž‰ αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αž“αŸ…αž–αŸαž›αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ S2S αžœαžαŸ’αžαž»αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž‘αžΈαž–αžΈαžšαž‚αžΊαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž•αŸ’αž‰αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αž‘αž½αž›αžœαžΆαŸ” αžœαž·αž’αžΈαž–αžΈαžšαž™αŸ‰αžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαžœαžΆαž„αž–αž½αž€αž‚αŸαŸ–

  1. αžšαž»αž‰. αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž•αŸ’αž‰αžΎβ€‹αž–αžΈβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž’αžαž·αžαž·αž‡αž“β€‹αžŠαŸ„αž™β€‹αž”αŸ’αžšαžΎβ€‹αž€αŸ’αžšαž»αž˜β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αž–αžΈβ€‹αž…αž˜αŸ’αž„αžΆαž™ (RPG)αŸ” αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αžŠαŸ„αž™αž”αŸ’αžšαžΎαž…αŸ’αžšαž€αž”αž‰αŸ’αž…αžΌαž›
  2. αž‘αžΆαž‰. αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αž‘αž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ RPG αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž•αŸ’αž‰αžΎαžŠαŸ„αž™αž”αŸ’αžšαžΎαž…αŸ’αžšαž€αž‘αž·αž“αŸ’αž“αž•αž›αŸ”


αž›αŸ†αž αžΌαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž˜αŸ€αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ Apache Registry αŸ”

Apache NiFi Registry αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αžšαž„αžšαž”αžŸαŸ‹ Apache NiFi αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αž›αŸ†αž αžΌαžš αž“αž·αž„αž€αŸ†αžŽαŸ‚αž‘αž˜αŸ’αžšαž„αŸ‹αŸ” αž”αŸ’αžšαž—αŸαž‘αž“αŸƒ GIT αŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ αž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžš. αž›αŸ†αž αžΌαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž½αž™ αž αžΎαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αŸ” αž™αžΎαž„αž“αžΉαž„αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αŸ”

αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› N αž‡αžΆαž…αŸ†αž“αž½αž“αžαžΌαž… αž›αŸ†αž αžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŠαŸ„αž™αžŠαŸƒαž€αŸ’αž“αž»αž„αž–αŸαž›αžœαŸαž›αžΆαžŸαž˜αžšαž˜αŸ’αž™αž˜αž½αž™αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› N αž›αžΌαžαž›αžΆαžŸαŸ‹αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“:

  1. αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αŸαž›αžœαŸαž›αžΆαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž›αŸ†αž αžΌαžšαŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”
  2. αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‚αŸ†αžšαžΌαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž–αž½αž€αž‚αŸαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž–αž½αž€αž‚αŸαž—αŸ’αž›αŸαž…
  3. αž€αŸ†αž αž»αžŸαžšαž”αžŸαŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž“αŸ…αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†

αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž“αžΆαŸ†αž™αžΎαž„αž‘αŸ…αžšαž€αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αžœαž·αž’αžΈαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ–

  1. αž”αŸ’αžšαžΎ MiNiFi αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ NiFi
  2. NiFi CLI
  3. NiPyAPI

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ MiNiFi

ApacheMiNify αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αžšαž„αžšαž”αžŸαŸ‹ Apache NiFi αŸ” MiNiFy αž‚αžΊαž‡αžΆαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž”αž„αŸ’αžšαž½αž˜αžŠαŸ‚αž›αž”αŸ’αžšαžΎ processors αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„ NiFi αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž›αŸ†αž αžΌαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„ NiFi αžŠαŸ‚αžšαŸ” αž—αžΆαž–αžŸαŸ’αžšαžΆαž›αž“αŸƒαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžšαž”αžŸαŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆ MiNiFy αž˜αž·αž“αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž›αŸ†αž αžΌαžšαŸ” αž€αž„αŸ’αžœαŸ‡αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžšαž”αžŸαŸ‹ MiNiFy αž˜αžΆαž“αž“αŸαž™αžαžΆαžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸƒαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ minifi αŸ” αžŠαŸ„αž™αžŸαžΆαžš MiNiFy αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ IOT αž˜αžΆαž“αž’αžΆαžαž»αž•αŸ’αžŸαŸ†αž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž‘αŸ…αž€αžΆαž“αŸ‹ minifi αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΌαžœαžαŸ‚αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸ‚αž›αž’αŸ’αž›αžΆαž”αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹αž˜αŸ‚αž“αž‘αŸ?

αž‚αž˜αŸ’αžšαŸ„αž„αžšαž„αž˜αž½αž™αž‘αŸ€αžαž‚αžΊ MiNiFi C2 Server αž“αžΉαž„αž‡αž½αž™αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ” αž•αž›αž·αžαž•αž›αž“αŸαŸ‡αž˜αžΆαž“αž”αŸ†αžŽαž„αž’αŸ’αžœαžΎαž‡αžΆαž…αŸ†αžŽαž»αž…αž€αžŽαŸ’αžαžΆαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ” αžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αžšαž·αžŸαŸ’αžαžΆαž“ - αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž“αŸ…αž›αžΎ Habre αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž‚αžΊαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαŸ” MiNiFi αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ C2 αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžœαžΆαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž§αž”αžŸαž‚αŸ’αž‚αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž‚αžΊαžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌαž“αŸ…αž›αžΎ C2 Server αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαžŸαžΆαž˜αž‰αŸ’αž‰αž…αŸ†αž–αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž‚αžΊαž˜αž·αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž‘αŸαŸ”

αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžαžΆαž„αž›αžΎαž‚αžΊαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™αž˜αž·αž“αž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž—αŸ’αž›αŸαž…αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‘αŸαŸ–

  1. minifi αž˜αž·αž“αž˜αžΆαž“ processors αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈ nifi αž‘αŸαŸ”
  2. αž€αŸ†αžŽαŸ‚αžŸαŸŠαžΈαž—αžΈαž™αžΌαž“αŸ…αž€αŸ’αž“αž»αž„ Minifi αž™αžΊαžαž‡αžΆαž„αž€αŸ†αžŽαŸ‚ CPU αž“αŸ…αž€αŸ’αž“αž»αž„ NiFi αŸ”

αž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžš αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžšαž”αžŸαŸ‹ NiFi αž‚αžΊ 1.9.2αŸ” αž€αŸ†αžŽαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αŸ†αžŽαŸ‚ MiNiFi αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž‚αžΊ 1.7.0 αŸ” αž’αž„αŸ’αž‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… MiNiFi αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸƒαž€αŸ†αžŽαŸ‚αžšαžœαžΆαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš NiFi αž“αž·αž„ MiNiFi αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ”

NiFi CLI

αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ„αž™ αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆ αž§αž”αž€αžšαžŽαŸαž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžš αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαžœαžΆαž„ NiFI αž“αž·αž„ NiFi Registry αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αŸ†αž αžΌαžš αž¬αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž‘αžΆαž‰αž™αž€αž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž–αžΈαž‘αžΈαž“αŸαŸ‡.

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹

./bin/cli.sh
           _     ___  _
 Apache   (_)  .' ..](_)   ,
 _ .--.   __  _| |_  __    )
[ `.-. | [  |'-| |-'[  |  /  
|  | | |  | |  | |   | | '    '
[___||__][___][___] [___]',  ,'
                           `'
          CLI v1.9.2

Type 'help' to see a list of available commands, use tab to auto-complete.

αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž™αžΎαž„αž•αŸ’αž‘αž»αž€αž›αŸ†αž αžΌαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž–αžΈαž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŠαžΉαž„αž–αžΈαž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ (αž§αž”αž€αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž’αž»αž„) αž“αž·αž„αž›αŸ†αž αžΌαžšαžαŸ’αž›αž½αž“αžœαžΆ (αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž›αŸ†αž αžΌαžš) αŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžαžΆαž˜αžšαž™αŸˆ cli αž¬αž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžαžΆαž‰αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ NiFi αŸ” αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache 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 instances αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αžΆαž“αŸ‹ instance αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž…αžΌαžšαžŸαž“αŸ’αž˜αžαžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš Push αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αžΎαž€αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“) αž“αŸ…αž›αžΎ Remote Process Group (RPG) αžŠαŸ‚αž›αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž›αŸ†αž αžΌαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αžšαž½αž…αž αžΎαž™αŸ”

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache NiFi

αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ CLI αž“αž·αž„αž”αŸ’αžšαž—αž–αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αžšαž€αžƒαžΎαž‰αžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžœαžΆαžŸαžΌαž˜αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αŸ”

αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž˜αžΆαž“ bash αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž‘αŸ…αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹ αž™αžΎαž„αž“αžΉαž„αžšαž€αž•αŸ’αž›αžΌαžœαž…αŸαž‰! αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ NiFi API αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ” αž…αžΌαžšαž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž™αžΎαž„αž™αž€αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžΈαž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž›αžΎ (αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αžœαžΆαž‚αžΊ 7f522a13-016e-1000-e504-d5b15587f2f3)αŸ” αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈ NiFi API Methods αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache NiFi
αž“αŸ…αž€αŸ’αž“αž»αž„αžαž½ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž†αŸ’αž›αž„αž€αžΆαžαŸ‹ JSON αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

{
    "revision": {
	    "clientId": "value",
	    "version": 0,
	    "lastModifier": "value"
	},
    "state": "value",
    "disconnectedNodeAcknowledged": true
}

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ†αž–αŸαž‰αžŠαžΎαž˜αŸ’αž”αžΈ "αž’αŸ’αžœαžΎαž€αžΆαžš"αŸ–
αžšαžŠαŸ’αž‹ - αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž˜αžΆαž“ TRANSMITTING αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ STOPPED αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘
αž€αŸ†αžŽαŸ‚ - αž€αŸ†αžŽαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αž€αŸ†αžŽαŸ‚αž“αžΉαž„αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸ… 0 αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ„αž™αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž›αŸ†αž αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Apache NiFi

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαžŸαŸ’αž‚αŸ’αžšαžΈαž” bash αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž“αŸαŸ‡αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžŸαž˜αžšαž˜αŸ’αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž–αž·αž”αžΆαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ† - αžŸαŸ’αž‚αŸ’αžšαžΈαž” bash αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžŸαŸ†αžŽαž–αŸ’αžœαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸαŸ” αžœαž·αž’αžΈαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αž·αž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‡αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

NiPyAPI

NiPyAPI αž‚αžΊαž‡αžΆαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ Python αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžœαžαŸ’αžαž» NiFi αŸ” αž‘αŸ†αž–αŸαžšαž―αž€αžŸαžΆαžš αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αŸ” αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž αŸαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ αžŸαŸαž…αž€αŸ’αžαžΈαž–αŸ’αžšαžΆαž„ αž“αŸ…αž›αžΎ github αŸ”

αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžšαž”αžŸαŸ‹αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž€αŸ‹αž…αŸαž‰αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ 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

αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž˜αžˆαŸ’αž˜αŸ„αŸ‡αŸ”

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž‚αŸ†αžšαžΌαž‘αŸ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αžαŸ‚αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎ processors αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒ template αž“αŸ„αŸ‡αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžœαžαŸ’αžαž˜αžΆαž“αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž‡αž½αžšαž“αŸ„αŸ‡αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎ processors αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰ αž“αŸ„αŸ‡αž”αž‰αŸ’αž αžΆαž’αžΆαž…αž“αžΉαž„αž€αžΎαžαž‘αžΎαž„ (nifi αž˜αž·αž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŠαž€ processor αž…αŸαž‰αž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‡αž½αžšαžŸαžΆαžšαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž“αŸ…αž–αžΈαž˜αž»αžαžœαžΆ)αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ - αžŸαžΌαž˜αžŸαžšαžŸαŸαžšαž˜αž€αžαŸ’αž‰αž»αŸ† αž™αžΎαž„αž“αžΉαž„αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž…αŸ†αžŽαž»αž…αž“αŸαŸ‡αŸ” αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž’αžαŸ’αžαž”αž‘αŸ” αž…αžΌαžšαž”αž“αŸ’αžαž‘αŸ…αž‡αŸ†αž αžΆαž“αž“αŸƒαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αŸ’αžšαž»αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž“αŸ…αž–αŸαž›αž€αŸ‚αž€αŸ†αž αž»αžŸαžŸαŸ’αž‚αŸ’αžšαžΈαž” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‡αž½αž”αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž˜αž½αž™αžŠαŸ‚αž›αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž“αŸƒαž›αŸ†αž αžΌαžšαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž‰αž‘αžΎαž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αžŽαŸ‚αž“αžΆαŸ†αž’αŸ’αž“αž€αž±αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ†αžŽαŸ‚αž“αŸαŸ‡αž‡αžΆαž˜αž»αž“αžŸαž·αž“αŸ–

nipyapi.versioning.get_latest_flow_ver

αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αŸ’αžšαž»αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

nipyapi.versioning.deploy_flow_version

αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

nipyapi.canvas.schedule_process_group

αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€αž’αŸ†αž–αžΈ CLI αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž‘αŸ? αž“αŸ…αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαžŸαŸ’αž‚αŸ’αžšαžΈαž” αžαŸ’αž‰αž»αŸ†αž€αŸαž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αžŠαŸ‚αžšαŸ” αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡ αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ API αž”αžΆαž“αž‘αŸ αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ NiPyAPI αž αžΎαž™αžŸαž»αŸ†αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“/αž‡αŸ†αž“αž½αž™αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αž†αŸ’αž›αžΎαž™αž˜αž€αžαŸ’αž‰αž»αŸ† αž™αžΎαž„αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ αž αžΎαž™αž‚αžΆαžαŸ‹αž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαž‚αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αŸαž›αžœαŸαž›αžΆαžŠαžΎαž˜αŸ’αž”αžΈ "αž–αž·αž“αž·αžαŸ’αž™αž’αŸ’αžœαžΈαž˜αž½αž™" αŸ” αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž–αžΈαžšαž”αžΈαžαŸ’αž„αŸƒαž€αŸ’αžšαŸ„αž™αž˜αž€ αž’αŸŠαžΈαž˜αŸ‚αž›αž˜αž€αžŠαž›αŸ‹ αžŠαŸ‚αž›αž˜αž»αžαž„αžΆαžš Python αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš αžŠαŸ‚αž›αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† !!! αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡ αž€αŸ†αžŽαŸ‚ NiPyAPI αž‚αžΊ 0.13.3 αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž—αŸαž‘αž“αŸ„αŸ‡αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 0.14.0 αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αžΆαž–αŸαž›αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡ αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžšαž½αž…αž αžΎαž™αŸ” αž‡αž½αž”

nipyapi.canvas.set_remote_process_group_transmission

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžŠαŸ„αž™αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž–αžΈαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ NiPyAPI αž™αžΎαž„αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ†αž αžΌαžš αž“αž·αž„αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αž“αž€αž’αžΆαž…αžŸαž·αžαž€αžΌαžŠ αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‚αŸ’αžšαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘ αž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆ αž αžΎαž™αž“αŸ„αŸ‡αž‡αžΆαžœαžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ„αŸ‡αž‡αžΆαžšαžΏαž„αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ”

αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž‡αž˜αŸ’αžšαžΎαžŸαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž…αžΆαžšαžŽαžΆ αž€αŸ’αžšαŸ„αž™αž˜αž€αž‘αŸ€αžαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αŸ†αž•αž»αžαŸ” αž‘αžΈαž˜αž½αž™ αžœαžΆαž“αŸ…αžαŸ‚αž‡αžΆαž€αžΌαžŠ python αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αž”αŸ‹αž€αžΌαžŠαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ αž“αž·αž„αžšαžΈαž€αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž‘αžΈαž–αžΈαžš αž‚αž˜αŸ’αžšαŸ„αž„ NiPyAPI αž€αŸ†αž–αž»αž„αž’αž—αž·αžœαžŒαŸ’αžαž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜ αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž”αž‰αŸ’αž αžΆ αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž‘αžΈαž”αžΈ NiPyAPI αž“αŸ…αžαŸ‚αž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ NiFi αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž‡αž½αžšαžŸαžΆαžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž‘αž‘αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αž αžΌαžš αž“αž·αž„αžαžΆαžαžΎαžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αŸ’αžšαž»αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αžšαž¬αž‘αŸ

αž’αžŸαŸ‹αž αžΎαž™αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž…αŸ†αž“αž½αž“ 3 αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž›αŸ†αž αžΌαžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„ NiFi αžŠαŸ‚αž›αž‡αžΆαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡ αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž›αŸαžαž€αžΌαžŠαž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸαŸ‡αžŠαžΌαž…αžαŸ’αž‰αž»αŸ† - សរសេរ!

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹