【发布时间】:2014-08-15 08:20:37
【问题描述】:
关于如何使用 riak 列出存储桶密钥的相当简单的问题,我正在使用 java-riak-client v1.1.4 和 Riak 1.3.2 ,很少我知道的方法:
-> 虽然已弃用,
val riak = new RiakClient("http://localhost:8098/riak");
val r = riak.listBucket("bucket");
if (r.isSuccess()) {
val info = r.getBucketInfo();
val keys = info.getKeys(); // list of all object keys in this bucket
}
-> 使用 map reduce 从存储桶中获取所有记录,但由于某种原因,执行 map-reduce 实际上会导致一些 Riak 错误,请参阅Error,尽管该错误实际上并不是由于 map-reduce 引起的。代码我一直在使用下面给出,但问题是这段代码仅在两个桶的情况下给出错误,检索所有使用 map reduce 对其他桶正常工作。
val riakClient = RiakFactory.httpClient
val result = riakClient.mapReduce(BUCKET_NAME_USER)
.addMapPhase(new NamedJSFunction("Riak.mapValuesJson"), true)
.execute //Gives errors
现在还有另一种使用 java-riak-client 检索存储桶内容的方法,或者至少如何列出存储桶键??
【问题讨论】: