Bird
Raised Fist0
AWScloud~20 mins

Event triggers for Lambda in AWS - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Lambda Event Trigger Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
How does an S3 event trigger a Lambda function?

When a new file is uploaded to an S3 bucket, which event trigger configuration will cause a Lambda function to run automatically?

AConfigure the Lambda function with an S3 trigger for the 's3:ObjectCreated:*' event on the bucket.
BSet up a CloudWatch alarm on the bucket and link it to the Lambda function.
CCreate an SNS topic subscribed by the Lambda function and publish messages manually.
DEnable versioning on the bucket and link it to the Lambda function.
Attempts:
2 left
💡 Hint

Think about which S3 event directly relates to new file uploads and can invoke Lambda automatically.

❓ Architecture
intermediate
2:00remaining
Which AWS service can trigger Lambda on a scheduled basis?

You want a Lambda function to run every day at midnight automatically. Which AWS service should you use to trigger it?

AAWS Config
BAWS CloudTrail
CAmazon SNS topic with daily messages
DAmazon EventBridge (CloudWatch Events) with a scheduled rule
Attempts:
2 left
💡 Hint

Consider which service is designed to run tasks on a schedule.

❓ security
advanced
2:00remaining
What IAM permission is required for S3 to invoke a Lambda function?

To allow an S3 bucket to trigger a Lambda function on object creation, which IAM permission must be granted?

As3:PutObject permission granted to the Lambda execution role
Blambda:InvokeFunction permission granted to the S3 service principal
Clambda:CreateFunction permission granted to the S3 bucket
Diam:PassRole permission granted to the Lambda function
Attempts:
2 left
💡 Hint

Think about what permission allows one service to call another.

✅ Best Practice
advanced
2:00remaining
How to avoid duplicate Lambda executions from SQS triggers?

You configured an SQS queue to trigger a Lambda function. Sometimes the function processes the same message twice. What is the best way to reduce duplicates?

ADelete messages from the queue immediately after Lambda invocation starts.
BIncrease the Lambda timeout to avoid retries.
CEnable Lambda's event source mapping with batch size 1 and use idempotent processing in the function.
DDisable the SQS queue's dead-letter queue.
Attempts:
2 left
💡 Hint

Consider how Lambda processes messages and what can cause duplicates.

🧠 Conceptual
expert
2:00remaining
What happens if a Lambda function triggered by DynamoDB Streams fails repeatedly?

A Lambda function is triggered by DynamoDB Streams on table updates. If the function keeps failing for the same batch of records, what is the expected behavior?

ALambda retries processing the batch until successful or the data expires in the stream (24 hours).
BLambda skips the failed batch and moves to the next batch immediately.
CDynamoDB deletes the failed records from the stream after 5 retries.
DThe Lambda function is disabled automatically after 3 failures.
Attempts:
2 left
💡 Hint

Think about how Lambda handles stream event retries and retention.

Practice

(1/5)
1. Which AWS service event can automatically start a Lambda function when a new file is uploaded?
easy
A. AWS CloudTrail log event
B. Amazon EC2 instance launch event
C. Amazon S3 object upload event
D. Amazon RDS backup event

Solution

  1. Step 1: Understand Lambda triggers

    Lambda functions can be triggered by events from various AWS services.
  2. Step 2: Identify common event sources

    Amazon S3 triggers Lambda when a new object is uploaded to a bucket.
  3. Final Answer:

    Amazon S3 object upload event -> Option C
  4. Quick Check:

    S3 upload triggers Lambda = A [OK]
Hint: Remember: S3 uploads often trigger Lambda automatically [OK]
Common Mistakes:
  • Confusing EC2 events as Lambda triggers
  • Thinking CloudTrail logs directly trigger Lambda
  • Assuming RDS backups trigger Lambda
2. Which of the following is the correct way to configure an SQS queue as an event source for a Lambda function?
easy
A. Enable CloudWatch Events on the SQS queue
B. Add an S3 trigger to the Lambda function
C. Attach an IAM role to the SQS queue
D. Create an event source mapping between the SQS queue and Lambda

Solution

  1. Step 1: Know how Lambda connects to SQS

    Lambda uses event source mappings to poll messages from SQS queues.
  2. Step 2: Identify correct configuration

    Creating an event source mapping links the SQS queue to Lambda for automatic invocation.
  3. Final Answer:

    Create an event source mapping between the SQS queue and Lambda -> Option D
  4. Quick Check:

    SQS triggers Lambda via event source mapping = D [OK]
Hint: Event source mapping links SQS to Lambda directly [OK]
Common Mistakes:
  • Confusing S3 triggers with SQS triggers
  • Attaching IAM roles to SQS instead of Lambda
  • Using CloudWatch Events incorrectly for SQS
3. Given this Lambda trigger configuration snippet:
{
  "EventSourceArn": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
  "FunctionName": "ProcessQueueMessages",
  "Enabled": true
}

What happens when a new message arrives in the SQS queue?
medium
A. The Lambda function ProcessQueueMessages is invoked automatically
B. The message is deleted from the queue without processing
C. The Lambda function is not triggered until manually invoked
D. An error occurs because the configuration is incomplete

Solution

  1. Step 1: Understand event source mapping

    The snippet shows an event source mapping linking an SQS queue to a Lambda function.
  2. Step 2: Effect of Enabled=true

    With Enabled set to true, Lambda polls the queue and invokes the function on new messages.
  3. Final Answer:

    The Lambda function ProcessQueueMessages is invoked automatically -> Option A
  4. Quick Check:

    Enabled event source mapping triggers Lambda = C [OK]
Hint: Enabled event source mapping means automatic Lambda invocation [OK]
Common Mistakes:
  • Assuming manual invocation is needed
  • Thinking messages get deleted without processing
  • Believing configuration is incomplete without batch size
4. You configured a DynamoDB stream as a trigger for your Lambda function, but the function is not invoked when the table changes. What is the most likely cause?
medium
A. The DynamoDB stream is disabled or not enabled
B. The DynamoDB table has no data
C. The Lambda function code is empty
D. The Lambda execution role lacks permission to read the DynamoDB stream

Solution

  1. Step 1: Check DynamoDB stream status

    For Lambda to trigger, the DynamoDB stream must be enabled on the table.
  2. Step 2: Confirm stream is active

    If the stream is disabled or not enabled, no events are generated to invoke Lambda.
  3. Final Answer:

    The DynamoDB stream is disabled or not enabled -> Option A
  4. Quick Check:

    DynamoDB stream must be enabled for Lambda trigger = A [OK]
Hint: Ensure DynamoDB stream is enabled to trigger Lambda [OK]
Common Mistakes:
  • Ignoring stream enablement status
  • Assuming empty table stops triggers
  • Blaming Lambda code without checking stream
5. You want a Lambda function to run every day at 6 AM UTC without any external event. Which AWS service and configuration should you use to trigger the Lambda?
hard
A. Configure an S3 bucket event to trigger Lambda at 6 AM
B. Create a CloudWatch Events (EventBridge) rule with a cron expression to trigger Lambda
C. Set up an SQS queue with a message sent daily at 6 AM
D. Enable DynamoDB Streams to trigger Lambda daily

Solution

  1. Step 1: Identify scheduled triggers for Lambda

    To run Lambda on a schedule without external events, use CloudWatch Events (EventBridge) rules.
  2. Step 2: Use cron expression in EventBridge

    Create a rule with a cron expression for 6 AM UTC daily to trigger the Lambda function automatically.
  3. Final Answer:

    Create a CloudWatch Events (EventBridge) rule with a cron expression to trigger Lambda -> Option B
  4. Quick Check:

    Scheduled Lambda uses EventBridge cron rule = B [OK]
Hint: Use EventBridge cron rules for scheduled Lambda runs [OK]
Common Mistakes:
  • Trying to trigger Lambda via S3 or SQS for schedule
  • Assuming DynamoDB Streams can schedule events
  • Not using cron expressions for timing
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