class LogStash::Inputs::Azuretopic

Reads events from Azure topics

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/logstash/inputs/azuretopic.rb, line 22
def initialize(*args)
      super(*args)
end

Public Instance Methods

process(output_queue) click to toggle source
# File lib/logstash/inputs/azuretopic.rb, line 35
def process(output_queue)
  message = @azure_service_bus.receive_subscription_message(@topic ,@subscription, { :peek_lock => true, :timeout => 1 } )
  if message
        codec.decode(message.body) do |event|
      output_queue << event
        end # codec.decode
        @azure_service_bus.delete_subscription_message(message)
      end
rescue LogStash::ShutdownSignal => e
  raise e
rescue => e
  @logger.error("Oh My, An error occurred.", :exception => e)
      if message and message.delivery_count > @deliverycount
              @azure_service_bus.delete_subscription_message(message)
      end
end
register() click to toggle source
# File lib/logstash/inputs/azuretopic.rb, line 27
def register
        Azure.configure do |config|
          config.sb_namespace = @namespace
          config.sb_access_key = @access_key
        end
      @azure_service_bus = Azure::ServiceBus::ServiceBusService.new
end
run(output_queue) click to toggle source
# File lib/logstash/inputs/azuretopic.rb, line 53
def run(output_queue)
      while true
    process(output_queue)
      end # loop
end
teardown() click to toggle source
# File lib/logstash/inputs/azuretopic.rb, line 60
def teardown
end