Ошибка «Неподдерживаемая функция сервера» возникает из-за того, что клиент Ruby отправляет ключ пользователя на сервер по умолчанию, но сервер Aerospike не поддерживает сохранение ключа пользователя для данных в памяти и одноразовых данных. настройка бина. Вы должны увидеть сообщение об ошибке, подобное этому, в журналах вашего сервера:
Sep 13 2018 02:42:20 GMT: WARNING (rw): (rw_utils.c:153) {sbin} can't store key if data-in-memory & single-bin
Вам необходимо отключить отправку ключа как часть запроса на установку, установив для send_key
политики записи значение false
:
$ bundle exec irb
2.5.0 :001 > require 'aerospike'; include Aerospike;
=> Object
2.5.0 :002 > client = Client.new; key = Key.new('sbin', 'test', 'foo'); nil
=> nil
2.5.0 :003 > client.put(key, Bin.new('', 42), send_key: false)
=> nil
2.5.0 :004 > client.get(key).bins['']
=> 42