Created 09-27-2022 12:45 PM
Is there a way to use the FetchFile 1.16.2 processor to access files from Windows when the Nifi application is on Linux?
Created 09-28-2022 05:35 AM
This is the flow I'm working on, I'm using the UpdateAttribute to enter the path of a Windows network directory to get the .PDF files, but it throws the error below.
I must be doing something wrong or missing some other processor.
Created 09-28-2022 06:34 AM
FetchFile gets the file from the host system, in your case try GetSmbFile or mount remote share into Linux first and then use FetchFile.
Created 09-28-2022 08:17 AM
Thank you very much for your tip, it worked, but I have some doubts about how to use this GetSmbFile processor.
1 - I need to send a formatted E-mail body for each case and I would be able to do that with the previous processors I was using. How can I do this?
2 - Is there a way for the PDF file to be moved from one directory to another with this processor? I noticed that it manages to delete the file from the directory, but that is not what I wanted, I would like to move it from a send to sent directory for example.
3 - Is it an input-only processor? I can't connect it to any other processor before? Is he the first in the stream?
Created on 09-29-2022 12:12 AM - edited 09-29-2022 12:13 AM
1 - it accepts no incoming connections, so I'd rather rebuild process around it or used distributed cache services. Try something like this:
2 - process deletes files when Keep Source File property set to "false" (default configuration), to move file combine GetSmbFile (Keep Source File to false) with PutSmbFile.
3 - yep, as mentioned in 1, it's input/flowfile-generative processor, it should stay first in the stream.
Created 09-29-2022 06:09 AM
How do I store the Flow content that brings the PDF to a property so the content doesn't get lost in the Nifi Flow?
Created on 09-29-2022 07:12 AM - edited 09-29-2022 07:12 AM
You store it into the cache with PutDistributedMapCache processor, you need the property to fetch the file back. DistributedMapCacheClientService controller and DistributedMapCacheServer controller are used with beforementioned processor.
When you need the pdf you use FetchDistributedMapCache and get the flowfile back into the flow.
Created 09-29-2022 10:25 AM
Would you have any example to give me about the functioning of these processors?
Sorry for my little knowledge.
Created 09-30-2022 03:54 AM
Ok, I made two sample flows:
the simple one just to put pdf almost straight to email:
And here is the one with caches, if you have a complex process to build email body:
Use default configs for these two controllers, at first it should be enough
Increase entry size accordingly to your max pdf size, for Identifier use either filename or whatever you think does the job:
Use same Identifier to fetch object
Created 09-30-2022 07:41 AM
I'm trying to make an example with the model you gave me, but when I get to the PutDistributedMapCache processor it gets stuck and doesn't go forward, neither success nor failure.
Am I doing something wrong with the Distributed Cache Service?
Created 09-30-2022 09:23 AM
yep, use default port and localhost as a hostname, also don't forget to start a cache server on the same port
Created 09-30-2022 10:57 AM
Do I need to create some kind of service on the Linux server where Nifi is running for this before?
Created 09-30-2022 11:49 AM
no, just another controller as shown at >Use default configs for these two controllers, at first it should be enough
it'll work as a server by itself
Created 10-03-2022 05:14 AM
Created 10-03-2022 11:59 PM
There should be two controllers configured:
Client is, eh, client, server is a backend for your cache.
Without server client has nowhere to send a flowfile.
Created 09-28-2022 06:13 AM
I dont think it matters which system the path is located as long you have access to it. Do you have access to the path \\10.1.1.35\nifi from the machine where nifi is deployed? I'm not Linux expert but you need to test if the path with the file name is accessible by doing some system command or trying to access via file explorer.
Created 09-28-2022 08:19 AM
I can connect to the Windows directory both from another windows machine and from this linux machine that I'm using Nifi, but I'm not able to use the FetchFile processor, it throws the POST error.