Как установить новое соединение с графической базой данных CosmoDB, используя gremlin в версии ^ 3 - PullRequest
0 голосов
/ 11 июня 2018

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

Доступны примеры, как это сделать в версиях здесь .

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

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

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Я использовал последнюю библиотеку 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>", }

0 голосов
/ 12 октября 2018

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

"AccountKey"= "YourReallyLongKeyHereYourReallyLongKeyHereYourReallyLongKeyHere"

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

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

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

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

...