Sha256: f4dee14e8b4e8ba97e0b994a2129ee34087228ee4eaf0eef3382fd959238f0aa

Contents?: true

Size: 809 Bytes

Versions: 4

Compression:

Stored size: 809 Bytes

Contents

begin
  require 'aws-sdk-firehose'
rescue LoadError
  require 'aws-sdk'
end

require 'logstash-logger/device/aws_stream'

module LogStashLogger
  module Device
    class Firehose < AwsStream
      @stream_class = ::Aws::Firehose::Client
      @recoverable_error_codes = [
        "ServiceUnavailable",
        "InternalFailure",
        "ServiceUnavailableException"
      ].freeze

      def transform_message(message)
        {
          data: message
        }
      end

      def put_records(records)
        @io.put_record_batch({
          records: records,
          delivery_stream_name: @stream
        })
      end

      def is_successful_response(resp)
        resp.failed_put_count == 0
      end

      def get_response_records(resp)
        resp.request_responses
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
logstash-logger-p-0.26.1 lib/logstash-logger/device/firehose.rb
logstash-logger-yajl-0.27.0 lib/logstash-logger/device/firehose.rb
logstash-logger-0.26.1 lib/logstash-logger/device/firehose.rb
logstash-logger-0.26.0 lib/logstash-logger/device/firehose.rb