Подключаемся к кластеру
В прошлом разделе мы подняли кластер, создали схему и записали данные через HTTP API. Теперь мы сможем подключиться к кластеру из кода и работать с данными.
Примечание
Если вы используете Tarantool без Cartridge, то переходите в раздел о подключении к базе из разных языков программирования. Если вы проходите обучение, то читайте дальше.
Вы могли обратить внимание, что в коде HTTP обработчиков мы использовали модуль crud
. Код выглядел примерно вот так:
local crud = require ('crud')
function add_user(request)
local result, err = crud.insert_object ('users', {user_id = uuid.new (), fullname = fullname})
end
Этот модуль позволяет работать с данными в кластере и имеет похожий синтаксис, что предлагает модуль box
в Tarantool. Про модуль box
вы узнаете в следующих разделах.
Модуль crud
содержит набор хранимых процедур. Чтобы он заработал, мы должны активировать на всех экземплярах router и storage специальные роли. В прошлом разделе мы их выбрали, так что нам делать ничего не нужно. Называются роли соответственно: «crud-router», «crud-storage».
Чтобы писать и читать данные в кластере Tarantool из кода, мы будем вызывать хранимые процедуры модуля crud
.
На языке Python это выглядит примерно вот так:
res = conn.call('crud.insert', 'users', <uuid>, 'Jim Carrey')
users = conn.call('crud.select', 'users', {limit: 100})
Список всех функций модуля crud
можно найти в репозитории на GitHub.
В него входят:
insert
select
get
delete
min
/max
replace
/upsert
truncate
Чтобы узнать, как вызывать хранимые процедуры в вашем языке программирования, смотрите раздел:
Информацию о подключении из других языков вы найдете в README к соответствующим коннекторам на GitHub.