Ram, info that may be of use:
Apache Camel has endpoints that can be used declaratively (with little or no Java programming -- which doesn't mean easy-to-use; they are under-documented! :-). These Camel endpoints can be used for NiFi within the NiFi SpringContextProcessor. And Camel has a CMIS endpoint that theoretically can be used to talk to Sharepoint. I am working on pulling Salesforce data into NiFi using the Apache Camel endpoint for Salesforce in a NiFi SpringContextProcessor. (Salesforce has a complex REST API behind an OAuth login). I'm having some problems, but getting there. For the Camel CMIS endpoint, it isn't clear that it actually works with Sharepoint. There's a history in google of some folks trying to use it, with unclear results. (Note the google results list is obfuscated by the existence of a Sharepoint API called "CAML", which is unrelated to Apache Camel!) A couple relevant links are: * https://code.google.com/archive/p/camel-cmis/ * https://brandingsharepointsites.wordpress.com/2011/11/24/using-camel-query-to-get-specific-items-from-sharepoint-list-or-library/ * http://stackoverflow.com/questions/29621858/using-apache-camel-cmis-with-sharepoint-2013 * https://issues.apache.org/jira/browse/CAMEL-6124 You'll have to decide if exploring Camel CMIS is worth the time, vs just jumping in and creating a custom Processor for Sharepoint -- using, perhaps, the Apache Chemistry library, which is the underlying library used by the Camel CMIS implementation! http://dhartford.blogspot.com/2013/01/sharepoint-2013-w-apache-chemistry-cmis.html may be useful to read whether using Apache Chemistry library directly, or trying to use Apache Camel CMIS. Let us know which approach you pursue. Regards, --Matt ________________________________ From: Aldrin Piri <[email protected]> Sent: Wednesday, September 21, 2016 7:47 AM To: [email protected] Subject: Re: Idea needed to get XL from SharePoint using NiFi Hi Ram, Accomplishing this task would require some effort beyond those items currently bundled with NiFi. I am not well versed in Sharepoint internals, but it seems like there is an available REST API [1] that would allow you to access files and folders [2]. Depending on the nuances of authentication, InvokeHTTP may be a reasonable solution to both query an endpoint and serve as a means for finding additional information to get specific files and folders. Doing some quick searching on top of that, it appears there are a few libraries available that may facilitate acquiring files from Sharepoint which could be used in a custom processor to streamline the process. Once you are able to access Sharepoint and gather the documents of interest, some transform would be needed from the xls(x) format to CSV. I have a vague recollection of someone in the community working with Apache POI [3] to facilitate this process but cannot seem to find the reference with some searching. This would also require custom processor development. The suite of ExecuteProcess, ExecuteStreamCommand, ExecuteScript, InvokeScripted processors may provide some additional avenues for exploration if you currently have applications that accomplish some of this presently or have comfort working with JVM-friendly scripting languages. The final steps of saving to disk and/or loading a database are supported and should cover your needs beyond the data capture and transformation. [1] https://msdn.microsoft.com/EN-US/library/office/fp142380.aspx [2] https://msdn.microsoft.com/en-us/library/office/dn292553.aspx [3] http://poi.apache.org/ On Mon, Sep 19, 2016 at 4:58 PM, Nathamuni, Ramanujam <[email protected]<mailto:[email protected]>> wrote: Hello: I need to get the XL files on windows SharePoint 2013 and store as CSV file or load into database? Please give me the things to try out? Thanks, Ram ************************************************************************* This e-mail may contain confidential or privileged information. If you are not the intended recipient, please notify the sender immediately and then delete it. TIAA *************************************************************************
