Member since
07-29-2020
574
Posts
320
Kudos Received
175
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
248 | 12-20-2024 05:49 AM | |
283 | 12-19-2024 08:33 PM | |
294 | 12-19-2024 06:48 AM | |
245 | 12-17-2024 12:56 PM | |
238 | 12-16-2024 04:38 AM |
03-20-2024
02:07 AM
1 Kudo
Ok, I think I know what you mean now. Basically the GetFile is designed not to take any incoming connection as you can see in the processor documentation: The reason such restriction applies depend on how the processor works. The GetFile is designed as a trigger processor and it executes every time a file is placed in the target path, so providing an incoming relationship (wither through routeOnAttribute or any other processor) will break this rule because that means the GetFile will only work and Get the file when upper stream processor triggers that via sending flowfile which is not what this processor is designed to do. What you need is FetchFile processor given that you know the file you are looking for because this processor takes the full file path and not just a directory.
... View more
03-18-2024
10:53 PM
3 Kudos
Its a script processor to run a groovy script. If a functional error is detected, I need to send original input file over FTP.
... View more
03-17-2024
09:36 PM
Sorry for my late post, Yes like you said @SAMSAL I miss the parameter from connection string : this is my previous connection string jdbc:sqlserver://#{db_cmk_colo_host};port=#{db_cmk_colo_port};database=#{db_cmk_colo_name} And this is after (its working now) jdbc:sqlserver://#{db_cmk_colo_host};port=#{db_cmk_colo_port};database=#{db_cmk_colo_name};authentication=NotSpecified;encrypt=true;trustServerCertificate=true Thank you again for your help. 😊
... View more
03-13-2024
11:54 AM
2 Kudos
@SAMSAL , After i added escaping to $ with double slash it got worked in shift too. "#\\${netval}": "&3[&2].&1" thanks a lot again
... View more
03-06-2024
02:54 AM
2 Kudos
Hi @AidenMartin , According to the documentation of the validate csv apply processors, the Optional has to take a type parameter : " ... Schema property: Null, ParseDate("dd/MM/yyyy"), Optional(ParseDouble()) Meaning: the input CSV has three columns, the first one can be null and has no specification, the second one must be a date formatted as expected, and the third one must a double or null (no value). ... " If you are not sure of the data type then just use Null instead of Optional, which means the value can be provided or not. reference: https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.23.2/org.apache.nifi.processors.standard.ValidateCsv/additionalDetails.html If you find this is helpful please accept solution.
... View more
03-05-2024
11:43 PM
Hi @SAMSAL , I have thought to write a stored procedure to compare field values and then log value changes to solve problem 2, but one thing is that Records in a Flow File cannot be passed to a stored procedure and interact with the database data in a stored procedure directly. Maybe I didn't know the correct processor or script to use. Do you have any insight on this?
... View more
03-05-2024
07:28 AM
1 Kudo
@coelacanth, My pleasure! Im glad it worked . If you find a better way than having to manually create the bin folder then copy the files from the script folder to it and restarting nifi every time you add new python processor or create the bin folder, please let us know and share. Right now for every python processor I create I have to restart my nifi instance 2 times: 1- Deploy the processor to the canvas so that the venv is created. 2- After the venv is created to copy the files to the bin folder. I know its possible to create vevn manually under the work folder and get it setup without relying much on Nifi to do it but Im afraid that might interfere with the process and cause other problems. @pvillard, @MattWho , @cotopaul please if you know better workaround for this let us know.
... View more
03-04-2024
01:18 AM
1 Kudo
Hi @piyush7829 , Why dont you do that using JoltTransformation as well. I think you can do it before split or after depending what is the json is and what is the expected new output. JsonJoltTransformation processor is very powerful and it allows you to use Expression Language which mean you can reference attributes in the jolt spec and assign them to new key. For example if you want to assign the value of the attribute ${series_id} to new key called series_id , then in jolt spec you can do that as follows: [
{
"operation": "shift",
"spec": {
.....
"#${series_id}":"series_id"
......
}
}
] If you need help with the jolt spec please post sample input and expected output and I will he happy to help you. If you find this is helpful please accept solution. Thanks
... View more
03-02-2024
07:55 AM
1 Kudo
Hi @saquibsk , The UpdateRecord processor uses the Nifi Record Path syntax to traverse record structure : https://nifi.apache.org/docs/nifi-docs/html/record-path-guide.html When your Replacement Value Strategy is set to Record Path Value then the path has to adhere to the record path syntax as explained in the link. The record path allows you to update structured data even if you have more than one record in an array of records. Please see the documentation here as well for more help: https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.7.1/org.apache.nifi.processors.standard.UpdateRecord/additionalDetails.html If you are having more issues it would help to provide sample input and the expected output result alongside the relevant processors configuration screenshot. This will enable the community to help you better and resolve your issue faster. If you find this is helpful please accept solution. Thanks
... View more
03-01-2024
05:35 AM
1 Kudo
Hi @piyush7829 , Glad it worked and you were able to do the post. If I understood your question correctly then you need to pass the series_id to the post:form:series_id multipart form property dynamically, right? If that is the case then its easy since the InvokeHttp multipart dynamic properties allows for expression language you can reference the series_id attribute you have extracted using the EvaluateJsonPath and assign it as follows: post:form:series_id: ${series_id} Every time the invokeHttp is triggered it would evaluate the series_id expression from the incoming flowfile and assign its value before making the api invokation. Hope that helps.
... View more