Sha256: 813973f270be0a564efebfa613a6e9509a5175c1c79f73f6b07cbd6a95a29d5b

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

#module Fluent

  class AzureEventHubsOutputBuffered < Fluent::BufferedOutput
    Fluent::Plugin.register_output('azureeventhubs_buffered', self)

    config_param :connection_string, :string
    config_param :hub_name, :string
    config_param :include_tag, :bool, :default => false
    config_param :include_time, :bool, :default => false
    config_param :tag_time_name, :string, :default => 'time'
    config_param :expiry_interval, :integer, :default => 3600 # 60min
    config_param :type, :string, :default => 'https' # https / amqps (Not Implemented) 
    config_param :proxy_addr, :string, :default => ''
    config_param :proxy_port, :integer,:default => 3128

    def configure(conf)
      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)
      end
    end

    def format(tag, time, record)
      [tag, time, record].to_msgpack
    end

    def write(chunk)
      chunk.msgpack_each { |tag, time, record|
        p record.to_s
        if @include_tag
          record['tag'] = tag
        end
        if @include_time
          record[@tag_time_name] = time
        end
        @sender.send(record)
      }
    end
  end
#end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fluent-plugin-azureeventhubs-0.0.3 lib/fluent/plugin/out_azureeventhubs_buffered.rb