def _GetEventIdentifiers(self, event):
    attributes = []
    attribute_string = 'data_type: {0:s}'.format(event.data_type)
    attributes.append(attribute_string)
    for attribute_name, attribute_value in sorted(event.GetAttributes()):
      if attribute_name in self._IDENTIFIER_EXCLUDED_ATTRIBUTES:
        continue
      if not attribute_value:
        continue
      if attribute_name == 'pathspec':
        attribute_value = attribute_value.comparable
      elif isinstance(attribute_value, dict):
        attribute_value = sorted(attribute_value.items())
      elif isinstance(attribute_value, set):
        attribute_value = sorted(list(attribute_value))
      elif isinstance(attribute_value, py2to3.BYTES_TYPE):
        attribute_value = repr(attribute_value)
      try:
        attribute_string = '{0:s}: {1!s}'.format(
            attribute_name, attribute_value)
      except UnicodeDecodeError:
        logger.error('Failed to decode attribute {0:s}'.format(
            attribute_name))
      attributes.append(attribute_string)
    if event.timestamp_desc in (
        'atime', 'ctime', 'crtime', 'mtime',
        definitions.TIME_DESCRIPTION_LAST_ACCESS,
        definitions.TIME_DESCRIPTION_CHANGE,
        definitions.TIME_DESCRIPTION_CREATION,
        definitions.TIME_DESCRIPTION_MODIFICATION):
      macb_group_identifier = ', '.join(attributes)
    else:
      macb_group_identifier = None
    attributes.insert(0, event.timestamp_desc)
    content_identifier = ', '.join(attributes)
    return macb_group_identifier, content_identifier