首页 > 解决方案 > 如何在fluentd中使用record_accessor插件助手的accessor.set(record, value)方法?

问题描述

我正在尝试将fluentdset中的插件助手方法record_accessor用于我的自定义过滤器插件,如 fluentd 文档中所示(https://docs.fluentd.org/plugin-helper-overview/api-plugin-helper-record_accessor#记录访问器创建参数)。

但是我收到以下错误,说该方法set没有为类定义Accessor(尽管这两种方法calldelete可以正常工作,如文档中所述):

error_class=NoMethodError error="undefined method `set' for #<Fluent::PluginHelper::RecordAccessor::Accessor:0x00007f05a92953c8>\nDid you mean?  send"

这是我的插件代码(ruby)片段失败:

jsonpath = '$.x'
accessor = record_accessor_create(jsonpath)


record = {'x'=>'X', 'y'=>'Y'}
value = 'AXE'
accessor.set(record, value) # throws

我的流利版本是v1.6。我在这里做错了什么?

标签: rubyfluentd

解决方案


推荐阅读