class_docstr: Handles preparing and sending data from the classifier function to Kinesis Firehose
docstr: Return Artifacts Firehose Stream Name
  
  Args:
      config (dict): The loaded config from the 'conf/' directory
  
  Returns:
      str: Artifacts Firehose Stream Name
docstr_tok: ["Return","Artifacts","Firehose","Stream","Name","Args",":","config","(","dict",")",":","The","loaded","config","from","the","'conf\/","'","directory","Returns",":","str",":","Artifacts","Firehose","Stream","Name"]
code: def artifacts_firehose_stream_name(cls, config):
      """Return Artifacts Firehose Stream Name
  
      Args:
          config (dict): The loaded config from the 'conf/' directory
  
      Returns:
          str: Artifacts Firehose Stream Name
      """
      # support custom firehose stream name of Artifacts. User should make sure the length of
      # the custom firehose name is no longer than 64 chars, otherwise the firehose will be
      # failed to create. StreamAlert is not responsible for checking for custom firehose name
      # since it should not change custom settings.
      stream_name = (
          config.get("lambda", {})
          .get("artifact_extractor_config", {})
          .get("firehose_stream_name")
      )
  
      return stream_name or cls.generate_firehose_name(
          prefix=config["global"]["account"]["prefix"],
          log_stream_name="artifacts",
      )
  
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 12 for calling the FirehoseClient obj's underlying member method code with example usage: obj.artifacts_firehose_stream_name(cls, config) and returns: unknown