Are you preparing for AWS Certified Developer Associate certification exam? In this space, we are writing series of articles on topics which are covered in the developer associate certification exam. In this article, we are explaining one of the important concept Simple Notification Service (Amazon SNS). You would expect few questions from this topic for developer associate exam. You can subscribe to us for receiving the further updates on this topic.
Developer Associate certification exam is the most easiest exam in the associate level, it is good idea to start your certification from this exam. Also we would recommend you to pass the solutions architect certification exam which covers the concepts of all the services offered in AWS.
- TRY NOW :10 Free Practice Questions for Developer Associate Exam
- OFFER :420 Practice Questions for Developer Associate Exam (50% Discount)
Developer Associate Syllabus
Here is the snapshot of blueprint for developer associate is covered in the developer associate exam.
Amazon SNS
Amazon SNS is a fully managed notification service provided by AWS. Some of the key features of Amazon SNS are
- It is a cost effective method to push notifications to mobile users, email recipients or even other distributed systems.
- You can send messages to a variety of platforms such as iOS, Android, Java, Python, PHP, Node.js, or .NET SDKs from AWS.
- You can also get the delivery status information via Amazon CloudWatch on success rates, failure rates, and dwell times for mobile push messages as well as deliveries to SMS, SQS, HTTP, and Lambda destinations.
- Use SNS as a message bus to send messages, alarms, and notifications from your AWS services such as Amazon RDS, CloudWatch, and S3 to other AWS services such as SQS and Lambda
- A Message in SNS has a format which has the following parts attached to it. Please note that for the AWS Developer exam , this is important to note.
- MessageId: A Universally Unique Identifier, unique for each notification published.
- Timestamp: The time (in GMT) at which the notification was published.
- TopicArn: The topic to which this message was published
- Type: The type of the delivery message, set to “Notification” for notification deliveries.
- UnsubscribeURL: A link to unsubscribe the end-point from this topic, and prevent receiving any further notifications.
- Message: The payload (body) of the message, as received from the publisher.
- Subject: The Subject field – if one was included as an optional parameter to the publish API call along with the message.
- Signature: Base64-encoded “SHA1withRSA” signature of the Message, MessageId, Subject (if present), Type, Timestamp, and Topic values.
- SignatureVersion: Version of the Amazon SNS signature used.
One of the key aspects for the Developer exam is to know how to setup SNS and use the SNS service. So let’s look at how we can use SNS in more detail.
Working with SNS
- Log into your AWS Console. You will see Simple Notification Service under the Messaging option.
- The first order of business is to create a topic. A topic is like a channel where messages get published to. Then you have systems which act as subscribers which will pull messages from the SNS topic. For click on Create topic.
- Provide a name and Display Name for the topic
And then click on Create Topic.
- Next we need to create a subscription. There are the places where the SNS messages will be published to.
Click on the topic and then choose the menu option Action->Subscribe to topic
You have the following protocols for creating a subscription
- “HTTP”, “HTTPS” – Subscribers specify a URL as part of the subscription registration; notifications will be delivered through an HTTP POST to the specified URL.
- ”Email”, “Email-JSON” – Messages are sent to registered addresses as email. Email-JSON sends notifications as a JSON object, while Email sends text-based email.
- “SQS” – Users can specify an SQS standard queue as the endpoint; Amazon SNS will enqueue a notification message to the specified queue (which subscribers can then process using SQS APIs such as ReceiveMessage, DeleteMessage, etc.). Note that FIFO queues are not currently supported.
- “SMS” – Messages are sent to registered phone numbers as SMS text messages.
For the subscription we will choose the email option and you can provide any valid email option.
Next click on Create subscription.
- Now if you go to the gmail account you will see that you have got an email notification from SNS to confirm the subscription.
You can go ahead and confirm on the subscription.
You will then see a confirmation to the subscription.
And now if you go to SNS and see the subscriptions, you will see the successful subscription.
- Now let’s publish a message to the topic. In the topics section, click on the Topic and select Publish to topic.
Enter a subject and message. Then click on the Publish message button.
You will then get a notification that the message has been published.
- If you now go back to the gmail account , you will see that the message has come to the account via SNS.
So we have seen how we can configure a topic and send messages to this topic. This topic will then be delivered to multiple subscribers, basically any of the available protocols which subscribe to the service.
Adding another Subscriber
Now let’s see how we can add another subscriber to the SNS topic. Now we will add a subscriber as SQS.
Let’s assume we have an SQS queue with the following arn
arn:aws:sqs:ap-southeast-1:085363624145:Demo
- Let’s go to our topic and click on Subscribe to topic
- Now in the next screen lets choose the option of SQS and add our queue url. Click on the Create subscription.
Now when you go to subscriptions you will see the added subscription
- Now let’s send a test message to the topic. Let’s give the subject and the message as ‘New Test Message’
Now if you go to your SQS queue, you will see the Test Message and you will also see the Test Message in your gmail account.
Final Points to Remember about SNS
- It is a cost effective method to push notifications to mobile users, email recipients or even other distributed systems.
- You can send messages to a variety of platforms such as iOS, Android, Java, Python, PHP, Node.js, or .NET SDKs from AWS.
- The first part is to create a topic in SNS. This will be used to publish all your messages to SNS.
- Each topic will then have subscribers which can be used to get the messages. The following protocols are available for SNS subscribers
- “HTTP”, “HTTPS”
- ”Email”, “Email-JSON”
- “SQS”
- “SMS” – Messages are sent to registered phone numbers as SMS text messages.
- You can have multiple subscribers for each topic.
- A Message in SNS has the following parameters
- MessageId
- Timestamp
- TopicArn
- Type
- UnsubscribeURL
- Message
- Subject
- Signature
- SignatureVersion
Summary
In this article we have explained about how to use Simple Notification Service (Amazon SNS). This is one of the most important service offered by Amazon Web Services (AWS). You would expect few questions from this topic in your certification exam.
If you are preparing for the AWS certifications exam and looking for any help, please send us a mail to call to our customer support team.
- Top 20 Questions To Prepare For Certified Kubernetes Administrator Exam - August 16, 2024
- 10 AWS Services to Master for the AWS Developer Associate Exam - August 14, 2024
- Exam Tips for AWS Machine Learning Specialty Certification - August 7, 2024
- Best 15+ AWS Developer Associate hands-on labs in 2024 - July 24, 2024
- Containers vs Virtual Machines: Differences You Should Know - June 24, 2024
- Databricks Launched World’s Most Capable Large Language Model (LLM) - April 26, 2024
- What are the storage options available in Microsoft Azure? - March 14, 2024
- User’s Guide to Getting Started with Google Kubernetes Engine - March 1, 2024
Hi, I was looking information about SNS and I found this article. I have been using SNS for several months I didn’t find how to resolve this issue.
When I create the topic and subscribe a user, the user receive the email the same way as your post says, and the same kind of email. So the question is very simple, would you know how to edit the email template?? I don’t want my users to receive an email with the topic information and the account information, what I want is my users to receive a branded email with the information of the service they are suscribing.