我需要将 nifi 流文件内容作为 blob 文件插入到我的 oracle 数据库中,假设下面是我的表列。 id(我将作为 nifi 属性获取)、名称(这也是我将作为属性获取)和数据(这包含我的流文件内容,我希望将其作为 blob 文件)。您可以使用 nifi 帮助实现这一目标吗? 我的桌子如下
id,name,data
1,aaa,some blob file
我认为最好的选择仍然是编写脚本......
使用 ExecuteGroovyScript 处理器
声明属性:
SQL.mydb = <select connection to database here>
SQL_STATEMENT = insert into MyTable (name, data) values (:p_name, :p_data)
并使用以下作为“脚本主体”属性:
import groovy.sql.Sql
def ff = session.get()
if(!ff) return
ff.read{ rawIn->
def params = [
p_name : ff."Attribute name", //get flow file attribute by name
p_data : Sql.BLOB( rawIn ), //use input stream as BLOB sql parameter
]
SQL.mydb.execute(params, SQL_STATEMENT.getValue()) //execute statement defined in properties
}
REL_SUCCESS << ff //just transfer flow file to success
链接: