Мне нужно вызвать функцию LUA в Tarantool из приложения .NET. Я выбрал последний пакет progaudi.tarantool.client.
Подключение есть, данные передаются, но я никоим образом не могу получить DataResponce при вызове метода вызова. < /P>
Пример кода: < /p>
var box = Box.Connect("localhost:3301").Result;
var turple = TarantoolTuple.Create(3);
var result = box.Call("get_message_by_id", turple).Result;
< /code>
Функция LUA и пространственного формата: < /p>
box.schema.create_space('messages', { if_not_exists = true, format = { { name
= 'id', type = 'integer' }, { name = 'from', type = 'string' }, { name = 'to', type = 'string' }, { name = 'from_to_hash', type = 'integer' }, {
name = 'sending_time', type = 'datetime' }, { name = 'text', type = 'string' } } } )
lua_code = [[function(key) local result = box.space.my_space:get(key) if result then return result else return 'Key not found' end end]]
box.schema.func.create('get_message_by_id', { language = 'LUA', body = lua_code })
< /code>
сам тарантул показывает все:
Введите описание изображения здесь < /p>
Пробуя каждую комбинацию для Turple: Byte [], String, Long, Int , DateTime ...
Ошибки различны для различных конфигураций, но все связаны с невозможностью преобразовать один в другой, даже если параметры правильно указаны. < /P>
Я не нашел адекватную транскрипцию для кодов: < /p>
serializationException: ждал int, получил 215 (0xd7) < /li>
< li> serializationException: at 3 (0x03), ожидая одного из них:
fixstr, str8, str16, str32 < /li>
serializationexception: Got 215 (0xd7), ожидая одного из Это: Array16, Array32, FixArray, Null < /li>
< /ul>
попытался создать сущность, но это не сработало ни < /p>
[MsgPackArray]
public class MessageEntityMessagePack
{
[MsgPackArrayElement(0)]
public long Id { get; set; }
[MsgPackArrayElement(1)]
public string From { get; set; }
[MsgPackArrayElement(2)]
public string To { get; set; }
[MsgPackArrayElement(3)]
public long FromToHash { get; set; }
[MsgPackArrayElement(4)]
public DateTime SendingTime { get; set; }
[MsgPackArrayElement(5)]
public string Text { get; set; }
}
Мне нужно вызвать функцию LUA в Tarantool из приложения .NET. Я выбрал последний пакет progaudi.tarantool.client. Подключение есть, данные передаются, но я никоим образом не могу получить DataResponce при вызове метода вызова. < /P> Пример кода: < /p> [code]var box = Box.Connect("localhost:3301").Result; var turple = TarantoolTuple.Create(3); var result = box.Call("get_message_by_id", turple).Result; < /code> Функция LUA и пространственного формата: < /p> box.schema.create_space('messages', { if_not_exists = true, format = { { name = 'id', type = 'integer' }, { name = 'from', type = 'string' }, { name = 'to', type = 'string' }, { name = 'from_to_hash', type = 'integer' }, { name = 'sending_time', type = 'datetime' }, { name = 'text', type = 'string' } } } )
lua_code = [[function(key) local result = box.space.my_space:get(key) if result then return result else return 'Key not found' end end]] box.schema.func.create('get_message_by_id', { language = 'LUA', body = lua_code }) < /code> сам тарантул показывает все: Введите описание изображения здесь < /p> Пробуя каждую комбинацию для Turple: Byte [], String, Long, Int , DateTime ... Ошибки различны для различных конфигураций, но все связаны с невозможностью преобразовать один в другой, даже если параметры правильно указаны. < /P> Я не нашел адекватную транскрипцию для кодов: < /p>
serializationException: ждал int, получил 215 (0xd7) < /li> < li> serializationException: at 3 (0x03), ожидая одного из них: fixstr, str8, str16, str32 < /li> serializationexception: Got 215 (0xd7), ожидая одного из Это: Array16, Array32, FixArray, Null < /li> < /ul> попытался создать сущность, но это не сработало ни < /p> [MsgPackArray] public class MessageEntityMessagePack { [MsgPackArrayElement(0)] public long Id { get; set; } [MsgPackArrayElement(1)] public string From { get; set; } [MsgPackArrayElement(2)] public string To { get; set; } [MsgPackArrayElement(3)] public long FromToHash { get; set; } [MsgPackArrayElement(4)] public DateTime SendingTime { get; set; } [MsgPackArrayElement(5)] public string Text { get; set; } } [/code] Необходимо просто получить ответ.