class_docstr: Run queries to generate statistics on alerts.
docstr: Public method for publishing alert statistics message to SNS
  
  Args:
      stats (list<StagingStatistic>): Group of rule staging statistics
          that are being reported on
docstr_tok: ["Public","method","for","publishing","alert","statistics","message","to","SNS","Args",":","stats","(","list","<","StagingStatistic",">",")",":","Group","of","rule","staging","statistics","that","are","being","reported","on"]
code: def publish(self, stats):
      """Public method for publishing alert statistics message to SNS
  
      Args:
          stats (list<StagingStatistic>): Group of rule staging statistics
              that are being reported on
      """
      for stat in stats:
          # If there are no alerts, do not run the comprehensive query
          if not stat:
              continue
  
          stat.execution_id = self._query_alerts(stat)
  
      self._publish_message(stats)
  
file_path: streamalert/streamalert/rule_promotion/publisher.py
imports: import boto3
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 6 for calling the StatsPublisher obj's underlying member method code with example usage: obj.publish(stats) without return types