def publish_to_slack_handler()

in IAM Access Denied Responder/publish-security-messages/index.py [0:0]


def publish_to_slack_handler(event, context):
    # The Slack hook to use
    SLACK_HOOK_URL = os.environ['SlackHookUrl']
    # The Slack channel to send a message to stored in the slackChannel environment variable
    SLACK_CHANNEL = os.environ['SlackChannel']
    for record in event['Records']:
      slack_message = {
          'channel': SLACK_CHANNEL,
          'text': json.loads(record['Sns']['Message'])['TextMessage']
      }
      req = Request(SLACK_HOOK_URL, json.dumps(slack_message))
      try:
          response = urlopen(req)
          response.read()
          logger.info('Message posted to % s ', slack_message['channel'])
      except HTTPError as e:
          logger.error('Unable to publish message:' + record['Sns']['Message'])['TextMessage']
          logger.error('Request failed: % d % s ', e.code, e.reason)
      except URLError as e:
          logger.error('Unable to publish message:' + record['Sns']['Message'])['TextMessage']
          logger.error('Server connection failed: % s ', e.reason)