Sha256: 52d755eab2cd76a497cd040cec8fbc951bae5c36ef4acabfe63763104179bf64

Contents?: true

Size: 750 Bytes

Versions: 4

Compression:

Stored size: 750 Bytes

Contents

require 'aws-sdk'
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 & 1 rubygems

Version Path
logstash-logger-0.25.1 lib/logstash-logger/device/firehose.rb
logstash-logger-0.25.0 lib/logstash-logger/device/firehose.rb
logstash-logger-0.24.1 lib/logstash-logger/device/firehose.rb
logstash-logger-0.24.0 lib/logstash-logger/device/firehose.rb