添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I want to know if is it possible to use flowfile size as an argument in routeOnAttribute i want to make expression like that :

${filename.fileSize>500}

but it tells me that expression ought to return true and my expression returns string what should i do to be able to make new connection in routeOnAttribute(p.s filename is my flowfile name)

EDIT 05/17/2019 Correct answer is Andy's. That is the best guidance from us (Apache NiFi team) on the subject. The answer marked "correct" only applies in a few cases where Content-Length is set by an upstream processor. Andy's solution, fileSize is universally applicable.

I want to check if the flowfile size is less than 500( it means response is empty) and i can make connection with emty reponse and then log it. should i use conetn size instead of size ? – Sagitarius Aug 24, 2017 at 6:53 ok thank you I have made it like this ${Content-Length:toNumber():divide(500):equals(1)} – Sagitarius Aug 24, 2017 at 7:31

Your expression is logically correct but does not use valid Apache NiFi syntax. It should use the gt function as below:

${fileSize:gt(500)}

This will return a boolean result.

Two ways to check empty response present in flowfile.

1.Using Content-Length attribute-->${Content-Length}

2.Using Extract Text processor to extracts entire content in attribute.

flow_content--(.*)

then check ${flow_content:isEmpty():not()}

It may be helpful for your case.

It is far preferable to use ${Content-Length} because extracting the content to an attribute when the content is large will have a very detrimental effect on the performance of the application. Attributes are held in memory and written to the flowfile repository, which is designed for fast read/write and lightweight data. It is highly discouraged to extract the entire flowfile contents to an attribute just to check the size. – Andy Aug 24, 2017 at 18:55

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.