class Fluent::Plugin::AzureEventHubsOutputBuffered

Constants

DEFAULT_BUFFER_TYPE

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 31
def configure(conf)
  compat_parameters_convert(conf, :buffer, :inject)
  super
  case @type
  when 'amqps'
    raise NotImplementedError
  else
    require_relative 'azureeventhubs/http'
    @sender = AzureEventHubsHttpSender.new(@connection_string, @hub_name, @expiry_interval,@proxy_addr,@proxy_port,@open_timeout,@read_timeout)
  end
  raise Fluent::ConfigError, "'tag' in chunk_keys is required." if not @chunk_key_tag
end
enrich_record(tag, time, record) click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 84
def enrich_record(tag, time, record)
  if @include_tag
    record['tag'] = tag
  end
  if @include_time
    record[@tag_time_name] = time
  end
end
format(tag, time, record) click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 44
def format(tag, time, record)
  record = inject_values_to_record(tag, time, record)
  [tag, time, record].to_msgpack
end
formatted_to_msgpack_binary?() click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 49
def formatted_to_msgpack_binary?
  true
end
write(chunk) click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 53
def write(chunk)
  @batch ? write_batched(chunk) : write_singularly(chunk)
end
write_batched(chunk) click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 67
def write_batched(chunk)
  records = []
  chunk.msgpack_each { |tag, time, record|
    if @print_records
      p record.to_s
    end
    enrich_record(tag, time, record)

    records << record
  }

  records.each_slice(@max_batch_size).each { |group| 
    payload = group
    @sender.send_w_properties(payload, @message_properties)
  }
end
write_singularly(chunk) click to toggle source
# File lib/fluent/plugin/out_azureeventhubs_buffered.rb, line 57
def write_singularly(chunk)
  chunk.msgpack_each { |tag, time, record|
    if @print_records
      p record.to_s
    end
    enrich_record(tag, time, record)
    @sender.send_w_properties(record, @message_properties)
  }
end