Bird
Raised Fist0
AWScloud~20 mins

SNS notification types (email, SMS, Lambda) in AWS - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
SNS Notification Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
SNS Email Subscription Behavior
When an AWS SNS topic has an email subscription, what happens immediately after a message is published to the topic?
AThe message is sent directly to the email address without any confirmation.
BThe email address receives a confirmation request and must confirm before receiving messages.
CThe message is stored in an S3 bucket linked to the email subscription.
DThe email subscription triggers a Lambda function to send the message.
Attempts:
2 left
💡 Hint
Think about how SNS ensures the email owner wants to receive messages.
❓ service_behavior
intermediate
2:00remaining
SNS SMS Message Delivery Limits
What is a key limitation when sending SMS messages via AWS SNS?
ASNS can send SMS messages only within the same AWS region as the topic.
BSNS requires a Lambda function to process SMS messages before sending.
CSNS SMS messages have a maximum size of 140 bytes and may be split if longer.
DSNS SMS messages can only be sent to phone numbers verified in the AWS account.
Attempts:
2 left
💡 Hint
Consider SMS message size limits in telecom.
❓ Architecture
advanced
2:00remaining
SNS with Lambda Subscription Behavior
Which statement correctly describes what happens when an SNS topic has a Lambda function subscribed and a message is published?
ASNS invokes the Lambda function asynchronously immediately after publishing the message.
BSNS invokes the Lambda function synchronously and waits for the function to complete before returning.
CSNS stores the message in S3 and triggers Lambda asynchronously after a delay.
DSNS requires the Lambda function to poll the topic to receive messages.
Attempts:
2 left
💡 Hint
Think about how SNS triggers Lambda functions.
❓ security
advanced
2:00remaining
Securing SNS Email Subscriptions
Which method best protects an SNS email subscription from unauthorized subscription requests?
AConfigure SNS to send messages only to verified email addresses in AWS SES.
BEnable server-side encryption on the SNS topic.
CRestrict SNS topic access using IAM policies only.
DUse subscription confirmation emails that require user action to activate.
Attempts:
2 left
💡 Hint
Think about how SNS confirms email ownership.
✅ Best Practice
expert
3:00remaining
Designing Reliable SNS Notifications with Multiple Protocols
You want to ensure that a critical alert message sent via SNS reaches both an email recipient and triggers a Lambda function. Which design approach ensures the highest reliability and fault tolerance?
ACreate one SNS topic with both email and Lambda subscriptions; rely on SNS retry policies for failures.
BCreate separate SNS topics for email and Lambda; publish the message twice from your application.
CUse one SNS topic with email subscription only; Lambda polls the email inbox for messages.
DSend the email and invoke the Lambda function directly from your application, bypassing SNS.
Attempts:
2 left
💡 Hint
Consider SNS built-in retry and fan-out capabilities.

Practice

(1/5)
1. Which of the following is NOT a valid protocol for an AWS SNS subscription?
easy
A. email
B. sms
C. lambda
D. ftp

Solution

  1. Step 1: Review SNS supported protocols

    AWS SNS supports protocols like email, sms, and lambda for subscriptions.
  2. Step 2: Identify unsupported protocol

    FTP is not supported as a protocol for SNS subscriptions.
  3. Final Answer:

    ftp -> Option D
  4. Quick Check:

    Supported protocols exclude ftp [OK]
Hint: Remember SNS supports email, sms, lambda but not ftp [OK]
Common Mistakes:
  • Confusing FTP as supported protocol
  • Thinking HTTP is the only protocol
  • Mixing SNS with S3 protocols
2. Which is the correct way to specify an SMS subscription protocol in AWS SNS?
easy
A. Protocol: 'sms', Endpoint: 'user@example.com'
B. Protocol: 'email', Endpoint: '+1234567890'
C. Protocol: 'sms', Endpoint: '+1234567890'
D. Protocol: 'lambda', Endpoint: '+1234567890'

Solution

  1. Step 1: Understand protocol and endpoint types

    For SMS, protocol must be 'sms' and endpoint is a phone number with country code.
  2. Step 2: Match correct protocol and endpoint

    Protocol: 'sms', Endpoint: '+1234567890' correctly uses 'sms' protocol and a phone number endpoint.
  3. Final Answer:

    Protocol: 'sms', Endpoint: '+1234567890' -> Option C
  4. Quick Check:

    SMS needs phone number endpoint [OK]
Hint: SMS protocol requires phone number endpoint format [OK]
Common Mistakes:
  • Using email as protocol for SMS
  • Using email address as SMS endpoint
  • Using lambda protocol with phone number
3. Given this AWS SNS subscription code snippet:
sns.subscribe({
  Protocol: 'lambda',
  Endpoint: 'arn:aws:lambda:us-east-1:123456789012:function:ProcessMessage'
});

What happens when a message is published to this SNS topic?
medium
A. The Lambda function 'ProcessMessage' is invoked with the message payload.
B. The message is sent as an SMS to the Lambda function ARN.
C. The message is sent as an email to the Lambda function.
D. The subscription will fail because Lambda cannot be an endpoint.

Solution

  1. Step 1: Identify protocol and endpoint meaning

    Protocol 'lambda' means SNS invokes the specified Lambda function ARN when a message is published.
  2. Step 2: Understand message delivery behavior

    The Lambda function 'ProcessMessage' is called with the message payload as input.
  3. Final Answer:

    The Lambda function 'ProcessMessage' is invoked with the message payload. -> Option A
  4. Quick Check:

    Lambda protocol triggers function invocation [OK]
Hint: Lambda protocol triggers function call, not email or SMS [OK]
Common Mistakes:
  • Thinking Lambda receives email or SMS
  • Assuming subscription fails
  • Confusing endpoint ARN with phone/email
4. You created an SNS subscription with protocol 'email' but the subscriber never receives messages. What is the most likely cause?
medium
A. The email address was not confirmed by the subscriber.
B. The SNS topic does not support email protocol.
C. The subscription endpoint was set to a phone number.
D. Lambda function is not attached to the subscription.

Solution

  1. Step 1: Understand email subscription confirmation

    Email subscriptions require the recipient to confirm by clicking a link in a confirmation email.
  2. Step 2: Identify common cause of no delivery

    If the email is not confirmed, SNS will not send notifications to that address.
  3. Final Answer:

    The email address was not confirmed by the subscriber. -> Option A
  4. Quick Check:

    Email subscriptions need confirmation [OK]
Hint: Email subscriptions require confirmation before delivery [OK]
Common Mistakes:
  • Assuming SNS does not support email
  • Confusing phone number as email endpoint
  • Expecting Lambda involvement in email subscription
5. You want to send an SMS notification and also trigger a Lambda function whenever a message is published to an SNS topic. How should you configure the subscriptions?
hard
A. Create one subscription with protocol 'email' and endpoint as phone number, and another with protocol 'lambda' and endpoint as Lambda ARN.
B. Create one subscription with protocol 'sms' and endpoint as phone number, and another with protocol 'lambda' and endpoint as Lambda ARN.
C. Create one subscription with protocol 'lambda' and endpoint as phone number, and another with protocol 'sms' and endpoint as Lambda ARN.
D. Create one subscription with protocol 'sms' and endpoint as Lambda ARN, and another with protocol 'lambda' and endpoint as phone number.

Solution

  1. Step 1: Understand protocol and endpoint matching

    SMS protocol requires a phone number endpoint; Lambda protocol requires Lambda function ARN.
  2. Step 2: Configure two subscriptions correctly

    Create one subscription with protocol 'sms' and phone number endpoint, and another with protocol 'lambda' and Lambda ARN endpoint.
  3. Final Answer:

    Create one subscription with protocol 'sms' and endpoint as phone number, and another with protocol 'lambda' and endpoint as Lambda ARN. -> Option B
  4. Quick Check:

    Match protocol to correct endpoint type [OK]
Hint: Match SMS to phone number, Lambda to function ARN [OK]
Common Mistakes:
  • Mixing endpoints and protocols
  • Using email protocol for SMS
  • Assigning Lambda ARN as SMS endpoint
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard