Git Product home page Git Product logo

nifirssbundle's Introduction

NiFi RSS Processor

Overview

This project is a custom NiFi processor that extracts fields from a Flow File with content that is valid RSS XML. The processing is done by the ROME Java framework for RSS and Atom feeds.

The processor creates a JSON object with the following fields - with the field name in parenthesis:

  • Publication date (publicationDate)
  • Author (author)
  • Item title (title)
  • Item description (description)
  • Item url (url)
  • Title of feed (feedTitle)
  • Url of feed (feedUrl)

Processor Work Flow

The expected input to this Processor is a NiFi flow file where the content is an XML document that can be processed by the ROME RSS framework.

The output from the processor is one (or more) flow files:

  • The original flow file will pass to either the SUCCESS or FAILURE relationship depending on whether ROME was able to parse the XML input.
  • A new flow file will be created for each Item detected in the RSS XML content. The format of the content of the new flow files is described above.

Using the Processor

This project was generated from the NiFi maven archetype and the build process follows the approach for a project created from the archetype.

Building NiFi NAR

First step is to clone the repository.

git clone https://github.com/gm-ram/nifirssbundle.git

In the root directory of the project run:

mvn clean install

If the build is successful there will be a nar file in the folder nifi-rss-nar/target.

Adding to NiFi

The nar file created after the build process needs to be copied into the lib folder of the NiFi installation.

The final stage is to restart NiFi so that it picks up the new Processor.

License

  • Apache NiFi - Apache License, Version 2.0
  • ROME - Apache License, Version 2.0

nifirssbundle's People

Contributors

dependabot[bot] avatar ramstat avatar jmansson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.