Apache NIFI - Brevis Overview of Features in Practice

introduction

Accidit ut in currenti meo loco laboris huius technologiam cognoscerem. Incipe paulo background. Proximo conventu, turma nostra nuntiavit nos opus esse ad integrationem faciendam cum nota ratio. Per integrationem significatum est hanc notissimam systema postulationes nobis per HTTP ad certum terminum mittere, et nos, impariter satis, responsiones remittere in modum nuntii SOAP. Omnia simplicia et levia videntur. Ex quo efficitur eget.

negotium

Crea 3 officia. Earum prima est Service Database Update. Hoc officium, cum nova notitia e systemate tertio partium advenit, notitias datorum in datorum generat et lima in forma CSV generat ut eam in altera ratio transferat. Finis secundae servitutis appellatur - servitii FTP onerariae, quae tabellam translatam recipit, eam confirmat, eamque in tabulario reposita per FTP ponit. Tertium officium, translationis notitia servitii consumere, asynchronously cum duobus primis operatur. Petitionem accipit a tertia factione systemate externo ut tabellam superius tractatam recipiat, lima responsionis paratam accipit, mutat (id, descriptionem, linkToFile campi) et responsionem mittit in forma SOAP nuntium. Hoc est, altioris picturae talis est: prima duo officia opus suum solum incipiunt cum notitia adaequationis advenit. Tertium ministerium constanter operatur quod multi sunt consumptores notitiarum, circa 1000 petitiones pro notitia per minutias. Officia constanter praesto sunt et earum instantiae in diversis ambitibus sunt positae, ut test, demo, prae-productio et prod. Infra schema est quomodo haec officia operantur. Liceat mihi statim declarare nonnulla singularia faciliora esse ad implicationem necessariam vitandam.

Apache NIFI - Brevis Overview of Features in Practice

Technical Deepening

Cum solutionem problematis pararemus, primum applicationes in Java utendo fabricare veris, Nginx librari, datorum Postgres et aliis rebus technicis et non ita technicis facere decrevimus. Cum tempus solutionis technicae enucleari permittat nos videre alios aditus ad hanc solvendam quaestionem, intuitus noster incidit in technologiam Apache NIFI, quae in quibusdam circulis est similis. Ilicet dicam hanc technologiam nobis permisisse ut haec 3 officia animadvertere. Hoc articulum describet evolutionem tabellae translationis servitii et notitia translationis servitii ad consumendi, sed si articulum utile est, de servitio scribemus ad augendae notitiae in datorum datorum.

Quid est

NIFI architectura distributa est propter velocitatem parallelam onerationis et processus notitiarum, magnus numerus plugins pro fontibus et transformationibus, versiones configurationum et multo magis. Bellus bonus est quod facillime utatur. Processus triviales ut in tabulario, sendHttpRequest et alii ut quadrata repraesentari possunt. Singula quadrata repraesentant processum, cuius commercium in figura infra videri potest. Plura documenta in processus setup interactiones scripta sunt hic , iis qui loquuntur Russian - hic. Documenta perfecte describit quomodo expediant et currant NIFI, tum quomodo processus creandi, etiam quadrata nota.
Idea scribendi articulum nata est post longam inquisitionem et informacionem in rem consciam receptam, necnon desiderium vitae faciendi paulo faciliorem futuram tincidunt.

exempli gratia

Exemplum quomodo quadrat se mutuo inter se cohaerere consideretur. Consilium generale omnino simplex est: Petitionem HTTP accipimus (In theoria, cum lima in corpore petitionis. Ad demonstrandas facultates NIFI, in hoc exemplo petitio incipit processum recipiendi limam ex repositione locali. ) responsionem remittimus receptam in parallelo processu limae ex FH recipiendi, et deinde per FTP ad FH movendi. Valet declarare processus inter se mutuo per fluxum sic dictum. Hoc est ens basis in NIFI thesauris attributa et contenta. Contentus est notitia quae per file amnis repraesentatur. Hoc est fere loquendo, si fasciculum ex uno quadrato acceperis et in alium transferas, contentum documentum tuum erit.

Apache NIFI - Brevis Overview of Features in Practice

Ut videre potes, haec imago communem processum ostendit. HandleHttpRequest - petitiones acceptat, ReplaceText - responsionem generat corpus, HandleHttpResponse - responsum mittit. PetchFile - fasciculum ex tabula repositionis accipit, eum ad quadratum PutSftp transfert - hunc fasciculum in FTP ponit, in inscriptione certa. Nunc de hac re plura.

In hoc casu petitio est omnium principium. Intueamur eius configurationem parametri.

Apache NIFI - Brevis Overview of Features in Practice

Omnia hic levia sunt cum exceptione StandardHttpContextMap - hoc genus servitii quod petitiones tuas mittere et accipere permittit. Fusius et etiam cum exemplis videre potes. hic

Deinde inspiciamus in configurationis ReplaceText parametri quadrati. Operae pretium est ad ReplacementValue observandum - hoc est quod in responsione ad usorem reddetur. In uncinis gradum logingis accommodare potes, tigna {ubi pacto nisi}/nifi-1.9.2/tigna videre potes, etiam defectus/successus parametri - ex his parametris totum processum moderari potes. . Hoc est, in casu processus textus felicis, processus responsionis usoris mittendae vocabitur, et in alio casu simpliciter explica processus infelicis.

Apache NIFI - Brevis Overview of Features in Practice

Nihil maxime interest in proprietatibus HandleHttpResponsionis praeter statum cum responsio feliciter creatur.

Apache NIFI - Brevis Overview of Features in Practice

Rogationem et responsionem digessi sumus - ut tabellam moveamus et eam in servo FTP poneremus. PetchFile - limam accipit in via quae in uncinis designata est et transit ad processum proximum.

Apache NIFI - Brevis Overview of Features in Practice

Tum PutSftp quadrata - pones tabellam in tabella reposita. Configurationem parametri infra videre possumus.

Apache NIFI - Brevis Overview of Features in Practice

Operae pretium est ad singulas quadratas processus separatos esse deducendos. Inspeximus exemplum simplicissimum quod nulla consuetudine implicata eget. Deinde processum paulo intricatius spectabimus, ubi aliquantulum in striatis scribemus.

Plurioris exempli

Notitia translationis officium edax evasit paulo magis complicata ob processum modificationis SOAP nuntium. Generalis processus infra in figura ostenditur.

Apache NIFI - Brevis Overview of Features in Practice

Hic notio etiam non valde implicata est: rogationem accepimus a consumere quod notitia deerat, responsum accepisse se nuntium misit, processum fasciculi responsionis incepit, deinde cum logica quadam edidit, deinde tabella ad emptorem transposuit in forma SOAP nuntium ad servo.

Puto opus non esse iterum illa quadrata describere quae supra vidimus - ad novas recta moveamur. Si tabulam quamlibet creare debes et quadrata ordinaria ReplaceText type non aptas, scripturam tuam scribe habebis. Hoc fieri potest utens quadrato ExecuteGroogyScript. Eius occasus infra sistuntur.

Apache NIFI - Brevis Overview of Features in Practice

Duae optiones scripturae in hoc quadrato sunt onerandae. Prima est tabellam cum scripto deprimendo. Secundum est, inserendo scriptum in corpus. Quantum scio, exector scripturae quadratae plures linguas sustinet - una earum est groovy. Ego tincidunt Javae confundam - in tali fora scribere non potes scripta in Java. Nam qui re vera volunt, necesse est ut tuam consuetudinem quadrum creare et ad NIFI rationem addere. Tota haec operatio cum tympani choro admodum longo comitatur, de quo in hoc articulo non agemus. Linguam striatam elegi. Infra scriptum est experimentum quod simpliciter incrementaliter id in nuntio SOAP updates. Illud notare. Tabellam e fluitantis tabulae capis et eam renovas, noli oblivisci te ibi restituere debes, renovatum. Notatu etiam dignum est omnes bibliothecas non includi. Fieri tamen potest ut unum ex libs. Alterum downside est quod scriptura in hoc quadrato satis difficilis est debug. Via est coniungere ad NIFI JVM et processum debugging committitur. Personaliter, applicationem localem excussi et simulavi tabellam e sessione acceptam. Ego quoque localiter debugging feci. Errores, qui scripturam onerandi apparent, facile ad Google sunt et ab ipso NIFI ad logam scripti sunt.

import org.apache.commons.io.IOUtils
import groovy.xml.XmlUtil
import java.nio.charset.*
import groovy.xml.StreamingMarkupBuilder

def flowFile = session.get()
if (!flowFile) return
try {
    flowFile = session.write(flowFile, { inputStream, outputStream ->
        String result = IOUtils.toString(inputStream, "UTF-8");
        def recordIn = new XmlSlurper().parseText(result)
        def element = recordIn.depthFirst().find {
            it.name() == 'id'
        }

        def newId = Integer.parseInt(element.toString()) + 1
        def recordOut = new XmlSlurper().parseText(result)
        recordOut.Body.ClientMessage.RequestMessage.RequestContent.content.MessagePrimaryContent.ResponseBody.id = newId

        def res = new StreamingMarkupBuilder().bind { mkp.yield recordOut }.toString()
        outputStream.write(res.getBytes(StandardCharsets.UTF_8))
} as StreamCallback)
     session.transfer(flowFile, REL_SUCCESS)
}
catch(Exception e) {
    log.error("Error during processing of validate.groovy", e)
    session.transfer(flowFile, REL_FAILURE)
}

Nam id est ubi elit platea finibus. Deinceps fasciculus renovatus ad quadratum transfertur, quod tabellam in calculone mittat. Infra uncinis huic quadrato sunt.

Apache NIFI - Brevis Overview of Features in Practice

Methodum describemus qua nuntius SOAP tradetur. ubi scribimus. Deinde indicare debes hanc esse SOAP.

Apache NIFI - Brevis Overview of Features in Practice

Plures proprietates addere, ut hostia et actio (soapAction). Servamus et reprehendo. Plura videre potes in quomodo petitiones SOAP mitteret hic

Plures optiones inspeximus pro processibus NIFI utendo. Quomodo se penitus et quid verum beneficium? Exempla perpensis examinata sunt et paulo aliter ab iis quae in pugna eveniunt. Spero hunc articulum parum utile tincidunt fore. Tibi gratias ago pro attente. Si quid habes, scribe. Experiar respondere.

Source: www.habr.com