我有一个FlowFile,我想将属性插入RDS。如果这是本地机器,我将创建一个DBCPConnectionPool,引用JDBC驱动程序等。
使用RDS,我该怎么办?类似的东西(我将如何在AWS上执行此操作)?还是我坚持使用ExecuteScript?如果它是后者,是否有一个Python示例如何执行此操作?
答案 0 :(得分:1)
根据反馈可能不清楚问题,但这是获得与Amazon RDS实例通信的NiFi(在AWS EC2实例上运行)的答案:
wget "https://driver.jar"
)readlink -f driver.jar
获取路径)。答案 1 :(得分:0)
假设您要插入数据库的所有值都在flowfile属性中。
使用ReplaceText
处理器用sql insert语句替换流文件的内容:
insert into mytable (id, message, start_date) values(?, ?, ?)
然后使用具有以下属性的PutSQL
处理器指定sql语句的三个参数(?
)
sql.args.1.type = 2 # NUMERIC
sql.args.1.value = ${MY_ATTR_ID} # get value from attribute or context variable MY_ATTR_ID
sql.args.2.type = 12 # VARCHAR
sql.args.2.value = ${MY_ATTR_MSG}
sql.args.3.type = 93 # TIMESTAMP
sql.args.3.value = ${MY_ATTR_DATE}
sql.args.3.format = yyyy-MM-dd HH:mm:ss.SSS
这里列出了所有jdbc数据类型:
https://docs.oracle.com/javase/7/docs/api/constant-values.html#java.sql.Types.ARRAY