Перейти к основному содержимому

Подключение к YDB в DBeaver (и DataGrip)

В документации к YDB есть статья о подключении к DBeaver и к DataGrip. Единственный момент, который был мне не понятен это как подключиться к Serverless YDB в Яндекс Облаке.

В документациии указана следующая строка подключения:

jdbc:ydb:<ydb_endpoint>/<ydb_database>?useQueryService=true

Эндпойнт YDB в облаке имеет следующий вид:

grpcs://ydb.serverless.yandexcloud.net:2135/?database=/ru-central1/xxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyy

Для подключения нам понадобиться сервисный аккаунт с правами доступа к нужной БД.

Создаем ключ доступа для сервисного аккаунта:

yc iam key create --service-account-id xxxxxxxxxxxxxxxxxxxx -o key.json

размещаем этот ключ где-то в файловой системе (у меня это ~/.config/ydb/)

тогда строка подключения будет выглядеть так:

jdbc:ydb:grpcs://ydb.serverless.yandexcloud.net:2135/ru-central1/xxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyy?useQueryService=true&saFile=~/.config/ydb/key.json

обратите внимание на то что адрес ендпойнта немного видоизменился в строке подключения (пропала часть ?database=)