1

ich einen Watcher-Konfiguration haben, wie folgt:Kann nicht Transformation korrekt mit Elasticsearch Watcher {{}} ctx.payload.hits.hits

{ 
    "trigger": { 
    "schedule": { 
     "interval": "5s" 
    } 
    }, 
    "input" : { 
    "search" : { 
     "request" : { 
     "indices" : [ "my_index" ], 
     "types" : [ "my_type" ], 
     "body" : { 
      "query" : { 
      "match_all" : {} 
      } 
     } 
     } 
    } 
    }, 
    "transform" : { 
     "script" : "return [ body: groovy.json.JsonOutput.toJson(ctx.payload.hits.hits)]" 
    }, 
    "actions" : { 
    "hbase_webhook" : { 
     "webhook" : { 
      "method" : "POST", 
      "host" : "<some_ip>", 
      "port" : <some_port>, 
      "path": "/v0.1/_events", 
      "body" : "data: {{ctx.payload.body}}" 
     } 
    } 
    } 
} 

Die im Körper gebuchten Daten ist keine gültige JSON: So etwas wie:

{ 'data: ': { '{"_index":"my_index","_type":"my_type","_source":{"key":"val"}},"_id":"<some_id>","_score":1.0}': '' } } 

ich weiß nicht, wie diese Ausgabe als JSON.parse in Node.js analysieren wird es nicht korrekt sowieso analysieren.

+0

Ich sage nicht, dass es nicht funktioniert. Wenn ich es so wie mit {{ctx.payload.body}} zurückgebe (ohne data: part, wird immer noch nicht geparst. –

+0

_Wenn ich es mit {{ctx.payload.body}} zurückgebe (ohne Daten: part Es parsen immer noch nicht._ Was ist der Parsing-Fehler, den du bekommst? –

+0

@AndreiStefan Sorry, mein Fehler. Tatsächlich erhalte ich einen seltsam geformten JSON, zB '{'{" _index ":" "," _ type " : "", "_ source": {"": "", ...}, "_ id": "", "_ score": 1.0} ':' '} 'wo die Daten der Schlüssel und ist Der Wert ist '''. Wenn kein Dokument gefunden wird, ist es' {'0': ''} '. Irgendwelche Gedanken? Ich glaube, ich komme mir aber nahe :) –

Antwort

2

Niemals. Vergessen. Kopfzeilen.

ich vergaß:

"headers" { 
    "Content-type": "application/json" 
} 

So war es unmöglich, mit jedem Werkzeug zu analysieren.

Verwandte Themen