gpt4 book ai didi

apache-nifi - 如何用 POST 查询的特定值替换 InvokeHTTP?

转载 作者:行者123 更新时间:2023-12-02 09:17:03 24 4
gpt4 key购买 nike

我有以下处理器序列:

enter image description here

我使用 ReplaceText 处理器创建 POST 查询的正文。该处理器链接到InvokeHTTPReplaceText 中的替换值为:

{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"Field1": ""}},
{"term": {"Field2": ""}},
{"term": {"Field3": ""}},
{"term": {"Field4": ""}}
]
}
},
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "2017-02-17T16:00:00Z||-1H/H",
"to": "2017-02-17T16:00:00Z||/H"
}
]
}
}
}
}

InvokeHTTP中执行查询之前,我需要替换Field1Field2Field3的值和 Field4 根据输入 FlowFile 的实际字段值(UpdateAttribute 的输出)。

例如,在输入 FlowFile 中,我的 Field1 等于 ABC,因此在我的 POST 查询中 Field1 应等于 ABC 而不是空字符串。

更好的方法是什么?

最佳答案

您可以使用NiFi Expression Language在您的 ReplaceText 中。假设您有 4 个属性 field.1 到 field.4,您可以将整个文本替换为以下内容:

{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"Field1": "${field.1}"}},
{"term": {"Field2": "${field.2}"}},
{"term": {"Field3": "${field.3}"}},
{"term": {"Field4": "${field.4}"}}
]
}
},
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "2017-02-17T16:00:00Z||-1H/H",
"to": "2017-02-17T16:00:00Z||/H"
}
]
}
}
}
}

关于apache-nifi - 如何用 POST 查询的特定值替换 InvokeHTTP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46100024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com