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

我将许多子记录存储为相同顶级记录中的 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
点赞
用户5890771
用户5890771

尝试:

字符串 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));
2016-12-13 01:13:09