2017-02-09 16 views
1

Я хочу использовать MarkLogic 8 в REST API для создания сервера приложений, который использует файловую систему в качестве базы данных модуля, как показано на этом изображении:Набор файловой системы в качестве базы данных модулей с использованием MarkLogic REST API

Modules database using file system

Я попытался следующие варианты, с результатами, описанными ниже каждой команды:

curl -v -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \ 
-d '{"rest-api": { "name": "MyAppServer", "port": "8012", "database": "MyDB", "modules-database": 0 } }' \ 
http://127.0.0.1:8002/v1/rest-apis 

Создает базу данных с именем «0» (без кавычек)

curl -v -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \ 
-d '{"rest-api": { "name": "MyAppServer", "port": "8012", "database": "MyDB", "modules-database": "(file system) } }' \ 
http://127.0.0.1:8002/v1/rest-apis 

Ошибка

ADMIN-INVALIDCONFIG: (ERR: FOER0000) Недопустимая конфигурация: '(файловая система)' не является действительной базой имя

Если это не представляется возможным установить базу данных модулей с помощью REST API, можно ли загружать файлы в базу данных модулей с помощью REST API? Я только нашел документацию по вставке документов в базу данных.

+0

не 100% уверен, но я думаю, что вкладывание документов в базе данных модулей отлично работает, если вы установите правильные разрешения и т. д. –

+2

Добавление документов в базу данных модулей ничем не отличается от любой другой базы данных (используйте API документа для публикации документов или MLCP и т. Д.). Однако вы должны убедиться, что вы используете правильные разрешения (чтение и выполнение) для пользователя с помощью приложения. –

+1

Если вы можете использовать Gradle в качестве инструмента автоматизации сборки, https://github.com/rjrudin/ml-gradle будет автоматизировать такие задачи, которые используют API REST API MarkLogic. – rjrudin

ответ

3

Конфигурация базы данных модулей в файловой системе не поддерживается для приложений приложений REST API.

API REST должен иметь возможность писать и читать документы в базе данных модулей.

Клиент REST может считывать и записывать документы в базу данных модулей для сервера приложений REST API, рассматривая его как базу данных контента. Либо:

  • Создайте другой сервер приложений REST API с базой данных модулей в качестве базы данных контента. (Можно подумать об этом как о «мета» REST API-сервере приложений.)
  • Укажите параметр базы данных при подключении к серверу приложений REST API.

Просто будьте осторожны, чтобы не писать файлы в каталогах, управляемых REST API для базы данных модулей:

/GROUP_NAME/ 
/marklogic.rest.*/ 
/ext/ 

Надеясь, что помогает,

+0

Я выбрал подход «meta», так как не хочу, чтобы глобальный REST API был включен в моем приложении - спасибо! – Stu

 Смежные вопросы

  • Нет связанных вопросов^_^