如何将Array [Long] id传递给Aerospike Record UDF?

时间:2016-09-02 07:10:00

标签: arrays lua udf aerospike

我将许多子记录作为Map存储在同一个顶级记录中,现在我需要根据传递键删除一些子记录,我打算使用UDF来实现它。当我从Java调用时,日志显示长度为0.为什么?以及如何纠正这个?谢谢!

在Java =>

val ids = Array(1,2,3)
Value.get(ids)

在Lua UDF =>

function remove_keys(rec, binName, rmkeys)

    info("Value(%s) valType(%s)",  tostring(rec), type(rec));
    info("Value(%s) valType(%s)",  tostring(binName), type(binName));
    info("Value(%s) valType(%s)",  tostring(rmkeys), type(rmkeys));

    info("BinName(%s)", binName)
    info("len(%s)", tostring(#rmkeys))
    ...
end

1 个答案:

答案 0 :(得分:0)

尝试:

String binName = "binName";
List<Value> rmKeys = new ArrayList<Value>();
rmKeys.add(Value.get("key1"));

client.execute(policy, key, packageName, "remove_keys", Value.get(binName), Value.get(rmKeys));