Amazon SNS - Delivery Formats and Transports for Receiving Notifications

Customers can select one the following transports as part of the subscription requests:

  1. “HTTP”, “HTTPS”

    1. Subscribers specify a URL as part of the subscription registration; notifications will be delivered through an HTTP POST to the specified URL.

  2. ”Email”, “Email-JSON”

    1. Messages are sent to registered addresses as email.

    2. Email-JSON sends notifications as a JSON object, while Email sends text-based email.

    3. Email (with normal text) intended for regular users, Email-JSON (JSON text) meant for applications to programmatically process emails.

    4. Subscription can be done using the Console or SNS API. SNS will then send an email with a confirmation link to the specified email address, and require explicitly opt-in for receiving email notifications from that particular topic.

  1. SNS allows publishers to specify the Subject field for emails as a parameter passed in to the Publish API call (different for every message). The Display name for topics can be set using the SetTopicAttributes API, which applies to all emails sent from this topic.

  1.  “SQS”

    1. Can specify an SQS standard queue as the endpoint; SNS will enqueue a notification message to the specified queue (which subscribers can then process using SQS APIs).

    2. Should create the SQS queue prior to subscribing.

    3. If the user owns both the SNS topic and the SQS queue, nothing further is required. Otherwise SNS will require an explicit confirmation form SQS owner.

    4. Note: FIFO queues are not currently supporte

  2. “SMS”

    1. Messages are sent to registered phone numbers as SMS text messages.

Note: Subscribers to an Amazon SNS topic can receive notifications on any transport supported by the topic. Topic owners can configure specific transports on their topics by setting the appropriate permissions through access control policies.


Message Format

The notification message sent by SNS for deliveries over HTTP, HTTPS, Email-JSON and SQS transport protocols will consist of a simple JSON object, which will include the following information:

  1. MessageId: A Universally Unique Identifier, unique for each notification published.

  2. Timestamp: The time (in GMT) at which the notification was published.

  3. TopicArn: The topic to which this message was published

  4. Type: The type of the delivery message, set to “Notification” for notification deliveries.

  5. UnsubscribeURL: A link to unsubscribe the end-point from this topic, and prevent receiving any further notifications.

  6. Message: The payload (body) of the message, as received from the publisher.

  7. Subject: The Subject field – if one was included as an optional parameter to the publish API call along with the message.

  8. Signature: Base64-encoded “SHA1withRSA” signature of the Message, MessageId, Subject (if present), Type, Timestamp, and Topic values.

  9. SignatureVersion: Version of the Amazon SNS signature used.

Notification messages sent over the “Email” transport contain only the payload (message body) as received from the publisher.


Please first use the contact form or facebook page messaging to connect.

Offline Contact
We currently connect locally for discussions and sessions at Bangalore, India. Please follow us on our facebook page for details.
WhatsApp (Primary): (+91) 7411174113
Phone (Escalations): (+91) 7411174114

Business newsletter

Complete the form below, and we'll send you an e-mail every now and again with all the latest news.

About is my blog to share notes and learning materials on Cloud and Data Analytics. My current focus is on Amazon Web Services.

I like to write. I try to document what I learn and share with others. I believe that knowledge is useless unless you share it; the more you share, the more you learn.

Recent comments

Photo Stream