Ein paar FragenUm Datenerstellung in einem Wald auslösen, der eine http-Kommunikation in Marklogic
- startet Wenn ein Trigger für einen bestimmten Wald zu schaffen, ist es richtig, die trgr zu verwenden: collection-Scope-Funktion mit dem Wald Name?
https://docs.marklogic.com/trgr:trigger-data-event
Ich bin daran interessiert, eine jsp Skript in der Ausführung, die Parameter an das Skript übergibt, wenn ein Datum an einen Wald begehen veröffentlichen. Ist der folgende Weg der richtige Weg?
xquery version "1.0-ml" import module namespace trgr="http://marklogic.com/xdmp/triggers" at "/MarkLogic/triggers.xqy"; trgr:create-trigger("executeCreateBlock", "Execute Block Creation", trgr:trigger-data-event( trgr:collection-scope("/str-1/"), trgr:document-content("create"), trgr:post-commit()), trgr:trigger-module(xdmp:database("str-1-modules"), "/modules/", "http.xqy"), fn:true(), xdmp:default-permissions() );
Mit folgendem http.xqy Modul, das derzeit zur Prüfung akzeptiert nur einen Parameter Dateinamen
xquery version "1.0-ml";
let $payload := '{ "filename": $filename}'
return xdmp:http-post("http://chain1.xmp.com:8080/CreateBlock/response.jsp",
<options xmlns="xdmp:http">
<data>{$payload}</data>
</options>)
-
genannt
- Ist es möglich, den Namen zu übergeben der Datei, die in der Datenbank erstellt wurde, die den Auslöser ausgelöst hat, zum Modul-Skript?
Dank
Conteh
Die Management API sollte auch für die Konfiguration von Alerting/Triggern hilfreich sein. – rjrudin
Danke, ich werde diese studieren. Wie ich bisher einen Trigger konfiguriert habe, habe ich den Java-API-Client com.marklogic.client.example.util.Bootstrapper bearbeitet, der die installBootstrapExtension-Methode in eine installTriggers-Methode konvertiert, die die URL anpasst. HttpPut put = new HttpPut ("http:// "+ Host +": "+ Port +"/Verwalten/v2/Datenbanken/Trigger/Trigger? Methode = POST "); und die setEntity xquery – conteh