class_docstr: Handles preparing and sending data from the classifier function to Kinesis Firehose
code: def __init__(self, prefix, firehose_config=None, log_sources=None):
      self._prefix = (
          prefix
          if firehose_config and firehose_config.get("use_prefix", True)
          else ""
      )
      self._client = boto3.client(
          "firehose", config=boto_helpers.default_config()
      )
      self.load_enabled_log_sources(
          firehose_config, log_sources, force_load=True
      )
  
imports: from collections import defaultdict
  import json
  import hashlib
  import re
  import backoff
  import boto3
  from botocore.exceptions import ClientError, HTTPClientError
  from botocore.exceptions import ConnectionError
  from streamalert.shared import CLASSIFIER_FUNCTION_NAME
  import streamalert.shared.helpers.boto
  from streamalert.shared.logger import get_logger
  from streamalert.shared.metrics import MetricLogger
  from streamalert.shared.backoff_handlers import backoff_handler, giveup_handler, success_handler
label_desc: Use image node_id 1 to create a new FirehoseClient object  with example: obj = FirehoseClient(prefix, firehose_config, log_sources)