Удаленное взаимодействие javascript с arangodb

Наша производственная среда не предоставляет оболочку, а только движок javascript и интерфейс REST. Наш сервер arangodb будет установлен в удаленном месте. Поскольку всем нашим пользователям удобна реализация javascript, мы ищем решение, если бы мы могли предоставить им интерфейс, в котором они пишут запросы для arangodb в javascript (как мы это делаем в arangodbsh), и мы можем выполнять их удаленно и получать результат. . Это как-то возможно?

Я новичок в arangodb и до сих пор обнаружил, что для удаленного взаимодействия доступен только интерфейс REST.

арангош недоступен и не может быть использован.


person Deepak Agarwal    schedule 18.11.2014    source источник


Ответы (1)


Вы можете использовать arangosh для подключения к удаленному серверу, поскольку он использует интерфейс REST для работы. Вся информация о подключении к вашему серверу доступна через arangosh --help. По умолчанию arangosh подключается к локальному экземпляру ArangoDB, но может подключаться и к удаленным.

Вероятно, вы захотите сделать что-то вроде, где 1.2.3.4 - это IP-адрес вашего удаленного сервера:

arangosh --server.endpoint tcp://1.2.3.4:8529

Если вы хотите выполнить произвольный код JavaScript в ArangoDB из приложения, вы можете использовать конечную точку /_admin/execute, описанную здесь, который принимает в качестве тела код JavaScript, который будет выполняться в ArangoDB. Помните, что это потенциальная угроза безопасности

person moonglum    schedule 18.11.2014
comment
Оболочка недоступна для среды, из которой я хочу запустить javascript :(. Среда представляет собой облако, в котором доступен механизм javascript и REST, но нет оболочки. - person Deepak Agarwal; 18.11.2014
comment
@DeepakAgarwal Вы можете запустить arangosh на своем локальном компьютере. Необязательно быть доступным на сервере :) - person moonglum; 18.11.2014
comment
:) Да. На самом деле позвольте мне объяснить больше. Мое приложение находится на облачной платформе (ServiceNow). Не могу туда установить аранго. Arangodb устанавливается на отдельной машине. Пользователи моего приложения могут писать только вызовы javascript и REST (которые находятся только в servicenow). Поэтому мне нужен способ, позволяющий запускать написанные javascripts в Arangodb из моего приложения servicenow. Итак, скрипты по сути являются удаленными. Один из способов - использовать AQL, но наши скрипты будут сложными. arangosh вообще не может быть доступен в приложении servicenow. - person Deepak Agarwal; 18.11.2014
comment
Хорошо понял. Скорректировал ответ выше! Надеюсь, это поможет? Помните о последствиях этого шага для безопасности. - person moonglum; 18.11.2014
comment
Спасибо! Вы сделали мой день :) - person Deepak Agarwal; 18.11.2014
comment
Давайте продолжим это обсуждение в чате. - person Deepak Agarwal; 18.11.2014
comment
Последняя вещь. не могли бы вы указать мне пример. Потому что, когда я пытаюсь выполнить его с помощью return db.events.properties; Я получаю это исключение: исключение JavaScript в файле 'undefined' на 1,21: ReferenceError: db не определен! (Function () {return db.events.properties;! ^ Stacktrace: ReferenceError: db не определен в eval (‹ анонимный ›: 1: 21) в Function.eval (‹anonymous›: 2: 2) в Function.actions.defineHttp.callback (C: \ Program Files \ ArangoDB 2.2.6 \ share \ arangodb \ js \ actions \ api- system.js: 1009: 16) - person Deepak Agarwal; 18.11.2014