ydb-platform / ydb-nodejs-sdk

YDB Node.js SDK
Apache License 2.0
61 stars 36 forks source link

Ошибка Error: Unexpected transport error code 3 #418

Open alexander-watsup opened 1 month ago

alexander-watsup commented 1 month ago

Версия библиотеки 5.3.2 подключается к YDB без проблем.

С теми же настройками все более поздние версии выводят ошибку

/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/errors.js:334
            return new Error(`Unexpected transport error code ${e.code}! Error itself: ${errStr}`);
                   ^
Error: Unexpected transport error code 3! Error itself: {"code":3,"details":"Validation failed:\n  - identity: One of the options must be selected","metadata":{"grpc-status-details-bin":[{"type":"Buffer","data":[*********]}]}}
    at TransportError.convertToYdbError (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/errors.js:334:20)
    at RetryStrategy.retry (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/retries_obsoleted.js:88:49)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async descriptor.value (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/retries_obsoleted.js:135:20)
    at async IamAuthService.sendTokenRequest (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/credentials/iam-auth-service.js:84:24)
    at async IamAuthService.updateToken (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/credentials/iam-auth-service.js:90:30)
    at async IamAuthService.getAuthMetadata (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/credentials/iam-auth-service.js:113:17)
    at async DiscoveryService.updateMetadata (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/utils/authenticated-service.js:104:25)
    at async Proxy.<anonymous> (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/utils/authenticated-service.js:96:25)
    at async DiscoveryService.discoverEndpoints (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/discovery/discovery-service.js:89:26)
    at async /home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/retries_obsoleted.js:135:53
    at async RetryStrategy.retry (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/retries_obsoleted.js:84:24)
    at async descriptor.value (/home/SOMETHING/node_modules/ydb-sdk/build/cjs/src/retries_obsoleted.js:135:20)

Node JS пробовал версии 18 и 20.

Фрагмент кода:

import { Driver, getCredentialsFromEnv } from "ydb-sdk";

const endpoint = "grpcs://ydb.serverless.yandexcloud.net:2135";
const database = "/ru-central1/*******/*******";
const authService = getCredentialsFromEnv();
const ydbDriver = new Driver({ endpoint, database, authService });

export default ydbDriver;

Помогите, пожалуйста, как поправить проблему?

Zork33 commented 1 month ago

Подскажите, а какие настройки авторизации указаны в переменных среды?

slaviknnov commented 4 weeks ago

Подскажите, а какие настройки авторизации указаны в переменных среды?

такая же проблема, в переменных среды указан файл в YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS

alexander-watsup commented 4 weeks ago

какие настройки авторизации указаны в переменных среды?

YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS Если указать в этой переменной заведомо неверное значение (несуществующий файл) - выводится соответствующее сообщение об ошибке. Авторизация с заданным ключевым файлом и правами возможна - проверил через YDB CLI.

Naumov1889 commented 2 weeks ago

столкнулся с такой же проблемой. Версия библиотеки 5.3.2 подключается к YDB без проблем.

guideblade commented 1 week ago

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