Apache nifi 将属性写入Apache NiFi中的文件

Apache nifi 将属性写入Apache NiFi中的文件,apache-nifi,Apache Nifi,​你好 我正在使用GetSNMP处理器连接收音机。根据NiFi文档,此信息写入流文件属性,而不是流文件内容。所以,我使用了JSON处理器。之后,我使用PutFile处理器将这些属性写入文件。生成了文件,但没有写入属性。每个文件中只写入{}。使用LogAttribute processor,我可以看到日志文件中的所有属性,但我希望它们位于单独的文件中。 请导游 谢谢,SGaur 如果传入流文件内容在putFile processor之前为空,则它将在本地目录中写入空内容 因此,您必须使用Repla

​你好 我正在使用GetSNMP处理器连接收音机。根据NiFi文档,此信息写入流文件属性,而不是流文件内容。所以,我使用了JSON处理器。之后,我使用PutFile处理器将这些属性写入文件。生成了文件,但没有写入属性。每个文件中只写入{}。使用LogAttribute processor,我可以看到日志文件中的所有属性,但我希望它们位于单独的文件中。 请导游

谢谢,

SGaur

如果传入流文件内容在putFile processor之前为空,则它将在本地目录中写入空内容

因此,您必须使用ReplaceText将属性写入流文件内容

例如,您可以使用以下属性

${filename}->input.1, ${input.content.1}->content.1, ${input.content.2}->content.2

在文件之前

现在,您必须将这些属性写入流文件内容,如下所示

input.1,content.1,content.2
在ReplaceText中,只需提及替换值,如下->

${filename},${input.content.1},${input.content.2}
它将替换以下内容

input.1,content.1,content.2
现在,它将使用put文件处理器写入本地文件

希望这对你有帮助。

SGaur

如果传入流文件内容在putFile processor之前为空,则它将在本地目录中写入空内容

因此,您必须使用ReplaceText将属性写入流文件内容

例如,您可以使用以下属性

${filename}->input.1, ${input.content.1}->content.1, ${input.content.2}->content.2

在文件之前

现在,您必须将这些属性写入流文件内容,如下所示

input.1,content.1,content.2
在ReplaceText中,只需提及替换值,如下->

${filename},${input.content.1},${input.content.2}
它将替换以下内容

input.1,content.1,content.2
现在,它将使用put文件处理器写入本地文件


希望这对您有所帮助。

嗨,马亨德拉,非常感谢您的帮助。这真的很有效。请随意上传/接受这个答案。这可能对某人有帮助。嗨,马亨德拉,再来一个问题。我们可以使用替换值中的正则表达式访问属性吗?我使用SNMPGet从一个收音机中获取所有以snmp$为前缀的属性。因此,我可以使用类似${'snmp$*'}的方法访问所有属性,而不是将每个属性都放在ReplaceText处理器中。请引导。是的,您可以使用以下方式访问:${filename},${content}嗨,Mahendra,非常感谢您的帮助。这真的很有效。请随意上传/接受这个答案。这可能对某人有帮助。嗨,马亨德拉,再来一个问题。我们可以使用替换值中的正则表达式访问属性吗?我使用SNMPGet从一个收音机中获取所有以snmp$为前缀的属性。因此,我可以使用类似${'snmp$*'}的方法访问所有属性,而不是将每个属性都放在ReplaceText处理器中。请引导。是的,您可以使用以下方式访问..${filename},${content}