Свойства JDBC-драйвера
JDBC-драйвер для YDB поддерживает следующие конфигурационные свойства, которые можно указать в JDBC URL или передать через дополнительные свойства:
-
saFile
— ключ сервисной учётной записи (Service Account Key). Значением свойства может быть содержимое ключа или путь к файлу с ключом. -
iamEndpoint
— IAM-эндпойнт для аутентификации с помощью ключа сервисной учётной записи (Service Account Key). -
token
— токен для аутентификации. Значением свойства может быть содержимое токена или путь к файлу с токеном. -
useMetadata
— использование режима аутентификации Metadata. Возможные значения:true
— использовать режим аутентификации Metadata;false
— не использовать режим аутентификации Metadata.
Значение по умолчанию:
false
. -
metadataURL
— эндпойнт для получения токена в режиме аутентификации Metadata. -
localDatacenter
— название локального датацентра, в котором выполняется приложение. -
secureConnection
— использование TLS. Возможные значения:true
— принудительно использовать TLS;false
— не использовать TLS.
Обычно безопасное соединение указывается с помощью протокола
grpcs://
в строке JDBC URL. Небезопасное соединение указывается с помощью протоколаgrpc://
. -
secureConnectionCertificate
— сертификат CA для TLS-соединения. Значением свойства может быть содержимое сертификата или путь к файлу с сертификатом.
Примечание
Ссылки на файлы в свойствах saFile
, token
или secureConnectionCertificate
должны содержать префикс file:
. Примеры:
-
saFile=file:~/mysakey1.json
-
token=file:/opt/secret/token-file
-
secureConnectionCertificate=file:/etc/ssl/cacert.cer
Использование режима QueryService
По умолчанию JDBC-драйвер для YDB использует старый API для обработки запросов, обеспечивая совместимость с предыдущими версиями YDB. Однако у этого API есть дополнительные ограничения. Чтобы отключить это поведение и использовать новый API QueryService, укажите свойство useQueryService=true
в строке JDBC URL.
Примеры JDBC URL
- Локальный Docker контейнер с анонимной аутентификацией и без TLS:
jdbc:ydb:grpc://localhost:2136/local
- Удаленный кластер, размещенный на собственном сервере:
jdbc:ydb:grpcs://<host>:2135/Root/<testdb>?secureConnectionCertificate=file:~/<myca>.cer
- Экземпляр облачной базы данных с токеном:
jdbc:ydb:grpcs://<host>:2135/<path/to/database>?token=file:~/my_token
- Экземпляр облачной базы данных с файлом сервисного аккаунта:
jdbc:ydb:grpcs://<host>:2135/<path/to/database>?saFile=file:~/sa_key.json