Я пытаюсь создать новый клиент gremlin в узле js, но не могу найти документации, как настроить соединение с URL-адресом и первичным ключом (как сгенерировано в Azure CosmosDB).
Примеры доступны в версиях <v3, например здесь.
Документация по новой версии gremlin доступна на новая документация, но она не объясняет, как поместить первичный ключ в объекты (пакет тоже не очень понятен, я пытался заполнить "cert" и "pfx", чтобы безрезультатно).
Кто-нибудь знает, как я могу подключиться к моему API-интерфейсу gremlin azure CosmosDB с помощью пакета gremlin v ^ 3.0.0 узла?
@OrelEraki: Я тоже не смог понять этого (отсюда и награда). Если вы думаете, что это просто, может, вы могли бы написать образец ответа на этот вопрос?
Я так давно не писал это, что не уверен, что смогу найти код, в котором писал это ...
@TomasAschan - если бы вы могли сказать мне, работает ли какой-либо из ответов для вас, я думаю, что я приму это как принятый ответ из-за вышеизложенного



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте добавить ключ учетной записи в тело запроса. Я догадываюсь по свойствам строка подключения.
"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>",
}
Не могли бы вы опубликовать то, что пробовали? потому что это выглядит довольно просто.