Guys, I think I get it. Is this how it should be? http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=${literal('Matt Dupe'):urlEncode()}&xmloutputversion=2&ts=${now():minus(600000):format("yyyy-MM-dd HH:mm:ss")}&tsTo=${now():format("yyyy-MM-dd HH:mm:ss")}
On Tue, Dec 15, 2015 at 5:38 PM, Joe Percivall < [email protected]> wrote: > I think you're thinking about it the wrong way. You aren't actually using > any attributes (attributes are on flowfiles, properties on processors), > just utilizing the functions of expression language. So you can manually > put in everything you would normally as a literal then reference the > expression language functions in the expression using ${*expression*}. > > That being said, since GetHttp is a source processor you shouldn't be > changing that URL all that often so you could just manually replace the > space with "%20" (URL encoding of a space). > > Here is a link to a URL encoder/decoder: > http://meyerweb.com/eric/tools/dencoder/ > > Joe > - - - - - - > Joseph Percivall > linkedin.com/in/Percivall > e: [email protected] > > > > > On Tuesday, December 15, 2015 5:32 PM, Igor Kravzov < > [email protected]> wrote: > But how I define attribute "url" in GetHTTP processor? I tried to ad a > property and got an error that property not defined or supported. > > > On Tue, Dec 15, 2015 at 4:57 PM, Joe Percivall < > [email protected]> wrote: > > > Hello Igor, > > > > The URL property for GetHTTP supports expression language. Check out this > > function: > > > https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#urlencode > > > > > > Hope that helps, > > Joe > > > > - - - - - - > > Joseph Percivall > > linkedin.com/in/Percivall > > e: [email protected] > > > > > > > > > > On Tuesday, December 15, 2015 4:46 PM, Igor Kravzov < > > [email protected]> wrote: > > > > > > > > Hi Joe, > > > > Another quick question. How can I encode some part of the URL? Like in > > example bellow after searchpattern= > > < > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=$%7Bnow():minus(600000):format( > > > > > space > > between Matt Dupe needs to be encoded. Otherwise GetHTTP throws an > error. > > > > > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=Matt > > Dupe&xmloutputversion=2&ts=${now():minus(600000):format( > > < > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=$%7Bnow():minus(600000):format( > > > > > "yyyy-MM-dd HH:mm:ss")}&tsTo=${now():format("yyyy-MM-dd HH:mm:ss")} > > > > > > On Mon, Dec 14, 2015 at 6:16 PM, Joe Percivall < > > [email protected]> wrote: > > > > > Glad I could help and thanks! > > > - - - - - - > > > Joseph Percivall > > > linkedin.com/in/Percivall > > > e: [email protected] > > > > > > > > > > > > > > > On Monday, December 14, 2015 6:09 PM, Igor Kravzov < > > [email protected]> > > > wrote: > > > Thank you very much Joe. It worked. > > > And congratulations. > > > > > > > > > On Mon, Dec 14, 2015 at 6:00 PM, Joe Percivall < > > > [email protected]> wrote: > > > > > > > Hello Igor, > > > > > > > > You're having trouble because you have a space in your format of the > > > dates > > > > which need to be URL encoded. You can use the EL method "urlencode" > to > > > get > > > > a valid expression like such: > > > > > > > > > > > > > > > > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=${now():minus(600000):format( > > > "yyyy-MM-dd > > > > HH:mm:ss"):urlEncode()}&tsTo=${now():format("yyyy-MM-dd > > > > HH:mm:ss"):urlEncode()} > > > > > > > > Hope that helps, > > > > Joe > > > > - - - - - - > > > > Joseph Percivall > > > > linkedin.com/in/Percivall > > > > e: [email protected] > > > > > > > > > > > > > > > > > > > > On Monday, December 14, 2015 5:31 PM, Igor Kravzov < > > > [email protected]> > > > > wrote: > > > > Hi guys, > > > > > > > > Why I am getting the error bellow? I am constructing URL like this: > > > > > > > > > > > > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=${now():minus(600000):format( > > > > "yyyy-MM-dd > > > > HH:mm:ss")}&tsTo=${now():format("yyyy-MM-dd HH:mm:ss")} > > > > > > > > > > > > Am I missing something? Thanks in advance. > > > > > > > > > > > > java.lang.IllegalArgumentException: Illegal character in query at > index > > > > 143: > > > > > > > > > > > > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=2015-12-14 > > > > 17:03:46&tsTo=2015-12-14 17:13:46 > > > > at java.net.URI.create(Unknown Source) ~[na:1.8.0_66] > > > > at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69) > > > > ~[httpclient-4.4.1.jar:4.4.1] > > > > at > > > org.apache.nifi.processors.standard.GetHTTP.onTrigger(GetHTTP.java:444) > > > > ~[na:na] > > > > at > > > > > > > > > > > > > > org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1146) > > > > ~[nifi-framework-core-0.4.0.jar:0.4.0] > > > > at > > > > > > > > > > > > > > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:139) > > > > [nifi-framework-core-0.4.0.jar:0.4.0] > > > > at > > > > > > > > > > > > > > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:49) > > > > [nifi-framework-core-0.4.0.jar:0.4.0] > > > > at > > > > > > > > > > > > > > org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:119) > > > > [nifi-framework-core-0.4.0.jar:0.4.0] > > > > at java.util.concurrent.Executors$RunnableAdapter.call(Unknown > Source) > > > > [na:1.8.0_66] > > > > at java.util.concurrent.FutureTask.runAndReset(Unknown Source) > > > > [na:1.8.0_66] > > > > at > > > > > > > > > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown > > > > Source) [na:1.8.0_66] > > > > at > > > > > > > > > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown > > > > Source) [na:1.8.0_66] > > > > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > > > > [na:1.8.0_66] > > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > > > > [na:1.8.0_66] > > > > at java.lang.Thread.run(Unknown Source) [na:1.8.0_66] > > > > Caused by: java.net.URISyntaxException: Illegal character in query at > > > index > > > > 143: > > > > > > > > > > > > > > http://api.twingly.com/analytics/Analytics.ashx?key=75744154-6ACB-3340-937A-9B5A59FA8F30&searchpattern=boycott&xmloutputversion=2&ts=2015-12-14 > > > > 17:03:46&tsTo=2015-12-14 17:13:46 > > > > at java.net.URI$Parser.fail(Unknown Source) ~[na:1.8.0_66] > > > > at java.net.URI$Parser.checkChars(Unknown Source) ~[na:1.8.0_66] > > > > at java.net.URI$Parser.parseHierarchical(Unknown Source) > ~[na:1.8.0_66] > > > > at java.net.URI$Parser.parse(Unknown Source) ~[na:1.8.0_66] > > > > at java.net.URI.<init>(Unknown Source) ~[na:1.8.0_66] > > > > ... 14 common frames omitted > > > > > > > > > >
