Apache nifi 如何通过RESTAPI调用传递动态表名来执行sql

Apache nifi 如何通过RESTAPI调用传递动态表名来执行sql,apache-nifi,Apache Nifi,我需要从多个数据库获取数据。其数据的表名​需要提取需要提取数据的表名由用户选择并通过UI传递。通过rest api,我可以传递表名,但是如何分别对每个表进行executeSql调用呢?IMHO,这可能是一项有点复杂和艰巨的任务。然而,下面解释了如何设置该值 ExecuteSQL是NiFi中的处理器,可以使用端点/processors/{id}的PUT请求来配置,其中id是组件的id。PUT调用的基本负载应该类似于: { "revision": { "clientId":

我需要从多个数据库获取数据。其数据的表名​需要提取需要提取数据的表名由用户选择并通过UI传递。通过rest api,我可以传递表名,但是如何分别对每个表进行executeSql调用呢?

IMHO,这可能是一项有点复杂和艰巨的任务。然而,下面解释了如何设置该值

ExecuteSQL
是NiFi中的处理器,可以使用端点
/processors/{id}
PUT
请求来配置,其中
id
是组件的id。PUT调用的基本负载应该类似于:

{
    "revision": {
        "clientId": "ClientId",
        "version": 8,
        "lastModifier": "value"
    },
    "id": "12512325-0164-1000-530c-7474a72c24ca",
    "component": {
        "id": "12512325-0164-1000-530c-7474a72c24ca",
        "config": {
            "properties" : {
                "name-of-the-property": "YOUR_VALUE"
            }
        },
        "state": "RUNNING"
    }
}
上面的JSON只是
ProcessorEntity
支持的全部DTO的一部分。其中,以下是需要注意的关键事项:

  • 修订版-您必须以某种方式跟踪版本。对组件的每次更改都会将版本号增加1。(无论更改是如何进行的,即UI或API)
  • id-组件的id。在本例中,您的
    ExecuteSQL
    处理器实例
  • component.config.properties-属性名称和必须设置的值的键值对。注意:NiFi组件的属性有两个名称:
    name
    displayName
    。您必须在请求中提供名称
  • 您可能需要执行
    GET
    请求以获取处理器的信息,该信息将为您提供有关组件的详细信息,包括
    版本
    详细信息和
    属性
    详细信息。您可以通过它们进行解析并使用它

    有关NiFi REST API的更多详细信息和便捷指南: