code: def publish(self, topic, message, subject=None):
          
          params = {'ContentType' : 'JSON',
                    'TopicArn' : topic,
                    'Message' : message}
          if subject:
              params['Subject'] = subject
          response = self.make_request('Publish', params, '/', 'GET')
          body = response.read()
          if response.status == 200:
              return json.loads(body)
          else:
              boto.log.error('%s %s' % (response.status, response.reason))
              boto.log.error('%s' % body)
              raise self.ResponseError(response.status, response.reason, body)
docs: Get properties of a Topic
  
          :type topic: string
          :param topic: The ARN of the new topic.
  
          :type message: string
          :param message: The message you want to send to the topic.
                          Messages must be UTF-8 encoded strings and
                          be at most 4KB in size.
  
          :type subject: string
          :param subject: Optional parameter to be used as the "Subject"
                          line of the email notifications.