有沒有一種方法來執行XQuery代碼,使用marklogic的Java API ..基本上我想獲得一個給定文件的大小和XQuery中,我可以只是下面Marklogic EXCUTE XQuery代碼的Java API
return xdmp:binary-size(fn:doc($uri)/binary())
有沒有簡單的方法來使用Java API來做到這一點?或者我們可以使用Java API執行隨機xquery代碼?
有沒有一種方法來執行XQuery代碼,使用marklogic的Java API ..基本上我想獲得一個給定文件的大小和XQuery中,我可以只是下面Marklogic EXCUTE XQuery代碼的Java API
return xdmp:binary-size(fn:doc($uri)/binary())
有沒有簡單的方法來使用Java API來做到這一點?或者我們可以使用Java API執行隨機xquery代碼?
是的,你有ServerEvaluationCall它啓用eval和invoke。但是,他們需要特殊的權限。 Eval特別危險,因爲當您從客戶端發送可能包含注入攻擊的臨時代碼時,它會帶來安全風險。
相反,我們建議您安裝並使用自定義resource extension。
您可能正在尋找: 在服務器上執行專門的代碼 - 自動將數據映射到/從MarkLogic進行映射。 https://docs.marklogic.com/guide/java/resourceservices#id_47102
把它作爲試駕 - 看起來像它適合您的需求。
你也有強大的資源服務擴展選項: https://docs.marklogic.com/guide/java/resourceservices#id_27702
我絕對最喜歡的是這樣的: https://docs.marklogic.com/guide/java/resourceservices#id_84134 上MarkLogic全部模塊執行與注入的變量 - 從MarkLogic
自動映射到/數據我們使用這個選項如下:
它有點在現實生活中(包括安全性和元/執行後的審計),但可以肯定的模式,可以通過保持控制自己的XQuery/JS代碼,幫助你,而不是允許執行任意代碼的注入更加複雜(因爲您只執行連接用戶有權使用的功能)。