docs: def make_proper_dynamodb_record(record, force_shrink=False):
      """Prepares and ships an individual DynamoDB record over to SNS/SQS for future processing.
  
      :param record:
      :param force_shrink:
      :return:
      """
      # Get the initial blob and determine if it is too big for SNS/SQS:
      blob = json.dumps(record)
      size = math.ceil(sys.getsizeof(blob) / 1024)
  
      # If it is too big, then we need to send over a smaller blob to inform the recipient that it needs to go out and
      # fetch the item from the Historical table!
      if size >= 200 or force_shrink:
          deletion = False
          # ^^ However -- deletions need to be handled differently, because the Differ won't be able to find a
          # deleted record. For deletions, we will only shrink the 'OldImage', but preserve the 'NewImage' since that is
          # "already" shrunken.
          if record['dynamodb'].get('NewImage'):
              # Config will be empty if there was a deletion:
              if not (record['dynamodb']['NewImage'].get('configuration', {}) or {}).get('M'):
                  deletion = True
  
          blob = json.dumps(shrink_blob(record, deletion))
  
      return blob