class_docstr: SQSClient for sending batches of classified records to the Rules Engine function
class_docstr_tok: ["SQSClient","for","sending","batches","of","classified","records","to","the","Rules","Engine","function"]
docstr: Send a single message with a blob of records to CSIRT SQS
  Args:
      message (string): A message that is serialized to json to be sent to
          the Rules Engine function
  
  Returns:
      string|bool: The MessageId if the request was successful, False otherwise
docstr_tok: ["Send","a","single","message","with","a","blob","of","records","to","CSIRT","SQS","Args",":","message","(","string",")",":","A","message","that","is","serialized","to","json","to","be","sent","to","the","Rules","Engine","function","Returns",":","string|bool",":","The","MessageId","if","the","request","was","successful",",","False","otherwise"]
code: def _send_message(self, records):
      """Send a single message with a blob of records to CSIRT SQS
      Args:
          message (string): A message that is serialized to json to be sent to
              the Rules Engine function
  
      Returns:
          string|bool: The MessageId if the request was successful, False otherwise
      """
  
      @backoff.on_exception(
          backoff.expo,
          self.EXCEPTIONS_TO_BACKOFF,
          max_tries=self.MAX_BACKOFF_ATTEMPTS,
          on_backoff=backoff_handler(debug_only=False),
          on_success=success_handler(),
          on_giveup=giveup_handler(),
      )
      def _send_message_helper(request):
          """Inner helper function for sending a single message with backoff
  
          Args:
              entries (list<dict>): List of SQS SendMessageBatchRequestEntry items
          """
          return self.queue.send_message(**request)
  
      # Prepare the request now to save time during retries
      request = {"MessageBody": "[{}]".format(",".join(records))}
  
      # The try/except here is to catch any raised errors at the end of the backoff
      try:
          response = _send_message_helper(request)
          return response["MessageId"]
      except self.EXCEPTIONS_TO_BACKOFF:
          LOGGER.exception("SQS request failed")
          return False
  
imports: import json
  import os
  import backoff
  import boto3
  from botocore.exceptions import ClientError, HTTPClientError
  from botocore.exceptions import ConnectionError
  from streamalert.shared import CLASSIFIER_FUNCTION_NAME
  from streamalert.shared.helpers import 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 5 for calling the SQSClient obj's underlying member method code with example usage: obj._send_message(records) and returns: self, response, False