【发布时间】:2021-01-13 00:36:28
【问题描述】:
休息服务:http://host:8000/v1/config/resources/removeCollection?put:database=string&put:uris=string*
我想使用 gradle 在 MarkLogic 中部署这个 REST service extension。我该如何部署它?
【问题讨论】:
标签: gradle build.gradle marklogic
休息服务:http://host:8000/v1/config/resources/removeCollection?put:database=string&put:uris=string*
我想使用 gradle 在 MarkLogic 中部署这个 REST service extension。我该如何部署它?
【问题讨论】:
标签: gradle build.gradle marklogic
我建议查看ml-gradle。您可以通过添加几行轻松地将其连接到 gradle 中,最重要的是:
plugins { id "com.marklogic.ml-gradle" version "4.0.4" }
如自述文件中所述,您可以选择调用mlNewProject 任务,这将为您提供典型 ml-gradle 项目的有用脚手架结构。
ML-gradle 让您可以访问各种任务,包括一项名为 mlLoadModules 的任务,用于部署源代码和其余扩展。还有一个用于删除任何数据库中的集合的内置任务,称为mlDeleteCollections。您可以查看Task-reference 以了解所有任务,或者直接运行gradle tasks。
HTH!
【讨论】:
如果您已经在使用ml-gradle,您可以将实现的接口添加到marklogic\src\main\ml-modules\services 并使用mlLoadModules 任务进行部署。作为脚手架一部分的mlCreateResource 任务也会在marklogic\src\main\ml-modules\services\metadata 中添加元数据。
【讨论】:
插件 gradle 调用 REST API 的两种简单方法:
方法一: 如果你还没有
Project,
gradle.properties 文件,在其中定义四个参数:host、mlUsername、mlPassword、RestPort
build.gradle 文件:plugins {
id "com.marklogic.ml-gradle" version "4.0.4"
}
task FCdeleteCollections(type: com.marklogic.gradle.task.datamovement.DeleteCollectionsTask) {
………………..
collections = ["{collection-name}"]
}
[root@ ~] # gradle FCdeleteCollections
方法二: 如果你已经搭建好了
Project,在我看来,像这样调用一次性删除任务会更安全:
[root@ ~] # gradle -Pdatabase={db-name} mlDeleteCollections -Pcollections={collection-name}
我的偏好是通过Java API调用这样的任务| DMSDK。
【讨论】: