2014-12-19 39 views
1

有一个功能stream_list_keys/2(来自riak-erlang-client),它允许接收某个桶中的所有密钥。连续生产Riak桶中的密钥

但是,这个函数完成发送后发送密钥。 是否有可能继续获得钥匙?那就是接收Riak中出现的密钥?

回答

0

这可以通过自定义commit hook来完成,以从存储的对象中提取所需的数据,并将该信息发送到侦听过程。但请注意,如果预提交钩子引发异常或返回除riak对象以外的其他任何对象,put操作将被中止并且对象不会被存储。

0

简短的回答是否定的。流密钥的能力仅基于已经存在的密钥。你所要求的是能够“订阅”该功能没有设计的事件。

正如Joe建议的那样,提交钩子可能是在Riak中做你想做的事情的最好方法。根据您提出问题的方式,我会建议您使用Post-Commit挂钩(http://docs.basho.com/riak/latest/dev/advanced/commit-hooks/)而不是预先提交挂钩。正如乔提到Pre-Commit钩子中的错误可能导致键不能被保留,我不相信这是你正在寻找的行为。