class_docstr: Handles preparing and sending data from the classifier function to Kinesis Firehose
docstr: Sanitize a key by replacing non-word characters with '_'
  
  Args:
      key (str): a string needs to be sanitized
  
  Returns:
      str: sanitized string
docstr_tok: ["Sanitize","a","key","by","replacing","non-word","characters","with","'","_'","Args",":","key","(","str",")",":","a","string","needs","to","be","sanitized","Returns",":","str",":","sanitized","string"]
code: def sanitized_value(cls, key):
      """Sanitize a key by replacing non-word characters with '_'
  
      Args:
          key (str): a string needs to be sanitized
  
      Returns:
          str: sanitized string
      """
      return re.sub(cls.SPECIAL_CHAR_REGEX, cls.SPECIAL_CHAR_SUB, key)
  
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 4 for calling the FirehoseClient obj's underlying member method code with example usage: obj.sanitized_value(cls, key) and returns: re