Member since
07-30-2019
155
Posts
107
Kudos Received
33
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
7365 | 04-18-2019 08:27 PM | |
2467 | 12-31-2018 07:36 PM | |
4300 | 12-03-2018 06:47 PM | |
1381 | 06-02-2018 02:35 AM | |
3555 | 06-02-2018 01:30 AM |
03-22-2017
10:31 PM
Any reason why Ambari still enables SSLv2 and SSLv3 by default? Those were considered insecure 7+ years ago. Since Feb 2014, all modern browsers have supported TLSv1.2.
... View more
03-22-2017
06:42 PM
1 Kudo
If you really want to modify the colors you can play around with the values in graph.css.
... View more
03-08-2017
11:17 PM
1 Kudo
A default login page for an admin user served over HTTP provides the illusion of security -- security theater -- but does absolutely nothing to improve the security of the system while adding obstacles to ease of use.
... View more
02-27-2017
06:22 PM
1 Kudo
You can achieve this by using the
HashContent processor or the ExecuteStreamCommand processor to calculate the MD5 hash of the content and compare it to the contents of the prepared *.md5 digest file, which you can read with GetFile and then ExtractText/RouteOnContent/RouteText to compare the MD5 value in a flowfile attribute with the contents of the file.
... View more
02-20-2017
09:51 PM
3 Kudos
Arun,
Edit:
Sorry, I got this confused with another question I was answering at the same time. To access dynamic properties in the script body, just reference them as a variable name.
From
Matt Burgess' blog:
Dynamic Properties: Any dynamic properties defined in ExecuteScript are passed to the script engine as variables set to the string value of the property values. This means you must be aware of the variable naming properties for the chosen script engine. For example, Groovy does not allow periods (.) in variable names, so don't use something like "my.property" as a dynamic property name.
Here is the example output from a LogAttribute processor following an ExecuteScript processor where I update the flowfile by adding an attribute with the content of a dynamic property on the ExecuteScript processor.
Processor config:
Groovy script (note casting
dynamic to String because by default it is of type org.apache.nifi.attribute.expression.language.StandardPropertyValue 😞
def flowfile = session.get()
if (!flowfile) return
log.info("Dynamic property value: ${dynamic as String}")
flowfile = session.putAttribute(flowfile, "dynamic", dynamic as String)
session.transfer(flowfile, REL_SUCCESS)
2017-02-20 17:22:04,072 INFO [Timer-Driven Process Thread-3] o.a.n.processors.standard.LogAttribute LogAttribute[id=5e4107e1-015a-1000-5efa-735bf688a3d0] logging for flow file StandardFlowFileRecord[uuid=4edb12f2-a020-4c3e-b42b-0796b8e91031,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1487639391782-1, container=default, section=1], offset=725, length=29],offset=0,name=420715910236852,size=29]
--------------------------------------------------
Standard FlowFile Attributes
Key: 'entryDate'
Value: 'Mon Feb 20 17:22:04 PST 2017'
Key: 'lineageStartDate'
Value: 'Mon Feb 20 17:22:04 PST 2017'
Key: 'fileSize'
Value: '29'
FlowFile Attribute Map Content
Key: 'dynamic'
Value: 'This is the value of a dynamic processor property set by Andy.'
Key: 'filename'
Value: '420715910236852'
Key: 'path'
Value: './'
Key: 'uuid'
Value: '4edb12f2-a020-4c3e-b42b-0796b8e91031'
--------------------------------------------------
This is the flowfile content.
Original answer (referencing attributes):
You extract them from the
flowfile object and write them to the flowfile via the session object. flowfile.getAttribute(attribute_name) returns the attribute_value , and session.putAttribute(flowfile, attribute_name, attribute_value) returns the new flowfile instance.
Example:
flowFile = session.putAttribute(flowFile, "filename", flowFile.getAttribute('filename').split('.')[0]+'_translated.json')
... View more
01-27-2017
07:42 PM
When you set the Initial Admin Identity, NiFi does populate the roles for that user, including "view the UI", which allows you to then configure other users via the interface. Obviously there was an issue with generating your authorizations.xml, so that policy doesn't exist at this time. If you provide the authorizations.xml, we can fix it.
... View more
01-27-2017
07:29 PM
1 Kudo
<role> elements are from NiFi 0.x . As you are on 1.x , you need to populate the authorizations.xml file with the appropriate mappings of the user (identified by the UUID) to the specific policies which will grant them access to perform the desired behavior. If you paste the contents of your authorizations.xml file here, we can correct any issues. Specifically, to view the UI, your user needs READ on the "view the UI" policy.
... View more
11-28-2016
07:19 PM
Glad it helped, Roger. I just updated the answer with a link to the list of current MiNiFi Java processors.
... View more
11-28-2016
06:43 PM
1 Kudo
1. Currently, MiNiFi C++ can use TailFile/GetFile or ListenSyslog processors to ingest data. In the future, more IoT-focused processors will be made available to communicate directly using the protocol specified by the edge device. At this time, MiNiFi Java has access to more processors because of the common development platform. 2. @slachterman's answer is very good. 3. I describe some of the interaction and use cases for NiFi and MiNiFi here.
... View more
11-23-2016
04:06 AM
You may be able to run the TLS Toolkit command on Windows as follows: tls-toolkit.bat ""standalone" -n "localhost" -C "CN=nifistos, OU=mycompany" -o "./target""
... View more