Как начать новое соединение с базой данных графов CosmoDB с помощью gremlin в версии ^ 3

Я пытаюсь создать новый клиент gremlin в узле js, но не могу найти документации, как настроить соединение с URL-адресом и первичным ключом (как сгенерировано в Azure CosmosDB).

Примеры доступны в версиях <v3, например здесь.

Документация по новой версии gremlin доступна на новая документация, но она не объясняет, как поместить первичный ключ в объекты (пакет тоже не очень понятен, я пытался заполнить "cert" и "pfx", чтобы безрезультатно).

Кто-нибудь знает, как я могу подключиться к моему API-интерфейсу gremlin azure CosmosDB с помощью пакета gremlin v ^ 3.0.0 узла?

Не могли бы вы опубликовать то, что пробовали? потому что это выглядит довольно просто.

Orel Eraki 12.10.2018 13:48

@OrelEraki: Я тоже не смог понять этого (отсюда и награда). Если вы думаете, что это просто, может, вы могли бы написать образец ответа на этот вопрос?

Tomas Aschan 15.10.2018 19:38

Я так давно не писал это, что не уверен, что смогу найти код, в котором писал это ...

Michal Paszkiewicz 15.10.2018 20:10

@TomasAschan - если бы вы могли сказать мне, работает ли какой-либо из ответов для вас, я думаю, что я приму это как принятый ответ из-за вышеизложенного

Michal Paszkiewicz 15.10.2018 20:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
13
4
410
2

Ответы 2

Попробуйте добавить ключ учетной записи в тело запроса. Я догадываюсь по свойствам строка подключения.

"AccountKey"= "YourReallyLongKeyHereYourReallyLongKeyHereYourReallyLongKeyHere"

Редактировать

После дальнейшего исследования вам может потребоваться добавить заголовок авторизации на основе этого документация.

type = {typeoftoken}&ver = {tokenversion}&sig = {hashsignature}  

Пример: type = master & ver = 1.0 & sig = 5mDuQBYA0kb70WDJoTUzSBMTG3owkC0 / cEN4fqa18 / s =

Я использовал последнюю версию библиотеки gremlin для подключения к cosmos db. Вот мой код:

const authenticator = new Gremlin.driver.auth.PlainTextSaslAuthenticator(
  config.user,
  config.password
);
const endpoint = `wss://${config.host}:${config.port}/gremlin`;
const client = new Gremlin.driver.Client(endpoint, {
  authenticator,
  mimeType: 'application/vnd.gremlin-v2.0+json',
  rejectUnauthorized: true,
  traversalsource: 'g',
});

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

query = 'g.V().count()';
client.submit(query).then(successfn,errorfn);

Используемая конфигурация имеет следующий формат:

{ "host": "<cosmosdbname>.gremlin.cosmosdb.azure.com", "password": "<secret-key>", "port": 443, "user": "/dbs/<dbname>/colls/<collectionName>", }

Другие вопросы по теме