擅长:python、mysql、java
<p>我想出了一个解决办法</p>
<ol>
<li><p>在处理器中添加名为<code>${now()}</code>的自定义属性mypropertyname</strong></p>
</li>
<li><p>任何通过处理器的流文件都将具有通过处理器的时间戳作为属性</p>
</li>
<li><p>在步骤1中的处理器后面有一个<code>UpdateAttribute</code>处理器,选项(在处理器属性下)<strong>存储状态</strong>设置为<code>Store state locally</code></p>
</li>
<li><p>在<code>UpdateAttribute</code>处理器中添加名为<strong>readable_property</strong>的自定义属性,并将其设置为值<code>${'mypropertyname'}</code></p>
</li>
</ol>
<p>处理器的状态现在包含最后一个流文件的值(例如,带有从步骤1开始执行<code>now()</code>方法的时间戳)</p>
<ol start=“4”>
<li>通过REST-API和URI上的Get获取有状态处理器的值(以及通过(!)的最后一个流文件的值)(例如,在气流中)</li>
</ol>
<p>返回的JSON包含以下行:</p>
<pre><code>{
"key":"readable_property"
,"value":"Wed Apr 14 11:13:40 CEST 2021"
,"clusterNodeId":"some-id-0d8eb6052"
,"clusterNodeAddress":"some-host:port-number"
}
</code></pre>
<p>然后,您只需解析JSON中的值</p>
<p>注意:在前一个处理器使用<code>now</code>向流文件添加属性和流文件实际通过<code>UpdateAttribute</code>处理器读取时间戳之间,会有一点延迟</p>