Команда ReQL: connect
Синтаксис команды
r.connect(opts={}) → connection
Описание
Создаёт новое подключение к серверу базы данных. Принимает следующие параметры:
-
host: хост для подключения (по умолчаниюlocalhost). -
port: порт для подключения (по умолчанию28015). -
db: базу данных по умолчанию (по умолчаниюtest). -
user: учётную запись пользователя для подключения (по умолчаниюadmin). -
password: пароль для учётной записи пользователя для подключения (по умолчанию'', пустой). -
timeout: время ожидания в секундах для открытия подключения (по умолчанию20). -
ssl: хеш параметров для поддержки SSL-соединений (по умолчаниюnil). В настоящее время доступен только один параметр, и если задан параметрssl, этот ключ обязателен:-
ca_certs: путь к сертификату CA для SSL.
-
Если подключение не может быть установлено, будет выброшено исключение ReqlDriverError.
Возвращаемый объект подключения будет иметь два метода, возвращающих порт и адрес подключения:
conn.client_port
conn.client_address
Для использования SSL с RethinkDB требуется программное обеспечение прокси на сервере, такое как Nginx, HAProxy или SSL-туннель. RethinkDB будет шифровать трафик и проверять сертификат CA, чтобы предотвратить атаки «человек посередине». Обратитесь к документации вашего прокси для получения дополнительной информации.
В качестве альтернативы можно использовать встроенную поддержку TLS в RethinkDB. TLS support.
Драйвер RethinkDB для Ruby включает поддержку асинхронных подключений с использованием EventMachine. Подробнее см. документацию по асинхронным подключениям.
Пример: Открытие подключения с использованием хоста и порта по умолчанию, указанием базы данных по умолчанию.
conn = r.connect(:db => 'marvel')
Пример: Открытие нового подключения к базе данных.
conn = r.connect(:host => 'localhost',
:port => 28015,
:db => 'heroes')
Пример: Открытие нового подключения к базе данных, указанием комбинации имя пользователя/пароль для аутентификации.
conn = r.connect(:host => 'localhost',
:port => 28015,
:db => 'heroes',
:user => 'herofinder',
:password => 'metropolis')
Пример: Открытие нового подключения к базе данных с использованием SSL-прокси.
conn = r.connect(:host => 'localhost',
:port => 28015,
:ssl => {
:ca_certs => '/path/to/ca.crt'
})
Пример: Открытие подключения и немедленное его передача в Ruby-блок. При использовании этого стиля подключение будет автоматически закрыто, когда выполнение достигнет конца блока.
r.connect(:db => 'marvel') { |conn|
r.table('superheroes').run(conn)
}
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/connect/