如何在getMongo处理器中参数化URI

时间:2018-11-06 14:13:42

标签: apache-nifi

我的流程看起来像这样=> generateFF-> updateAttribute-> getMongo

我正在追随异常

`Caused by: java.lang.IllegalArgumentException: The connection string is invalid. Connection strings must start with 'mongodb://'
        at com.mongodb.ConnectionString.<init>(ConnectionString.java:203)
        at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:176)
        at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:158)
        at org.apache.nifi.processors.mongodb.AbstractMongoProcessor.createClient(AbstractMongoProcessor.java:191)`

我在“ updateAttribute”中设置mongoURI,我也可以在ff属性中看到它。在getMongo中,我将URI设置为=> $ {mongo_uri}

问题是,处理器在我开始流程时就给出了错误,甚至在ff到达处理器之前。如果处理器允许表达语言,它是否不应该等待ff到达它,以便我们可以使用某种类型的表达?

我错过了什么吗?还是必须对URI进行硬编码?

1 个答案:

答案 0 :(得分:1)

根据NiFi-1.8.0文档Mongo URI

  • 支持表达式语言:true,但(仅使用变量注册表进行评估)

因此,此处理器将没有范围来获取流文件属性

vairable registry中将MongoURI保留为变量,然后处理器将获取变量的值。

enter image description here