Bird
Raised Fist0
AWScloud~5 mins

Lambda with S3 event triggers in AWS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an AWS Lambda function?
AWS Lambda is a service that lets you run code without managing servers. You upload your code, and Lambda runs it when triggered.
Click to reveal answer
beginner
What is an S3 event trigger for Lambda?
An S3 event trigger tells Lambda to run your function when something happens in an S3 bucket, like a file upload or deletion.
Click to reveal answer
beginner
Name two common S3 events that can trigger a Lambda function.
1. ObjectCreated (when a new file is added)
2. ObjectRemoved (when a file is deleted)
Click to reveal answer
intermediate
Why is it important to set permissions correctly for Lambda to access S3?
Lambda needs permission to read or write files in S3. Without proper permissions, Lambda cannot access the bucket or objects.
Click to reveal answer
intermediate
How does Lambda know which S3 bucket and event to listen to?
You add a notification on the S3 bucket that points to the Lambda function and specifies the event type.
Click to reveal answer
Which AWS service runs your code in response to S3 events without managing servers?
AAWS CloudTrail
BAWS Lambda
CAmazon RDS
DAmazon EC2
What type of S3 event can trigger a Lambda function when a new file is uploaded?
AObjectDeleted
BBucketPolicyChanged
CObjectCreated
DLifecycleRuleApplied
What must you configure to allow Lambda to access files in an S3 bucket?
ACloudWatch alarms
BS3 bucket policy only
CVPC settings
DLambda execution role with S3 permissions
How do you connect an S3 event to a Lambda function?
ABy adding a notification configuration on the S3 bucket
BBy creating an S3 bucket policy
CBy enabling CloudTrail logging
DBy setting up an EC2 instance
Which of the following is NOT a valid S3 event trigger for Lambda?
ABucketDeleted
BObjectRemoved:Delete
CObjectCreated:Put
DObjectRestore:Completed
Explain how you would set up a Lambda function to run when a new file is uploaded to an S3 bucket.
Think about permissions, event types, and linking the services.
You got /4 concepts.
    Describe why permissions are important when using Lambda with S3 event triggers and what could happen if they are missing.
    Consider what Lambda needs to do with the files in S3.
    You got /4 concepts.

      Practice

      (1/5)
      1. What happens when you configure an AWS Lambda function with an S3 event trigger for object creation?
      easy
      A. The Lambda function runs manually and is not triggered by S3 events.
      B. The Lambda function runs only when the S3 bucket is deleted.
      C. The Lambda function runs automatically whenever a new file is uploaded to the S3 bucket.
      D. The Lambda function runs only when an object is deleted from the S3 bucket.

      Solution

      1. Step 1: Understand S3 event triggers

        S3 event triggers can invoke Lambda functions automatically on specific events like object creation.
      2. Step 2: Identify the event type for object creation

        When a new file is uploaded, the event type is 'ObjectCreated', which triggers the Lambda function.
      3. Final Answer:

        The Lambda function runs automatically whenever a new file is uploaded to the S3 bucket. -> Option C
      4. Quick Check:

        S3 ObjectCreated event triggers Lambda automatically [OK]
      Hint: Remember: S3 triggers Lambda on file uploads automatically [OK]
      Common Mistakes:
      • Confusing object deletion with creation events
      • Thinking Lambda runs manually without triggers
      • Assuming triggers only work on bucket deletion
      2. Which of the following is the correct JSON snippet to configure an S3 event trigger for a Lambda function on object creation?
      easy
      A. { "Events": ["s3:ObjectCreated:*"], "LambdaFunctionArn": "arn:aws:lambda:region:account-id:function:myFunction" }
      B. { "Events": ["s3:ObjectRemoved:*"], "LambdaFunctionArn": "arn:aws:lambda:region:account-id:function:myFunction" }
      C. { "Events": ["lambda:InvokeFunction"], "LambdaFunctionArn": "arn:aws:s3:::myBucket" }
      D. { "Events": ["s3:ObjectCreated:Delete"], "LambdaFunctionArn": "arn:aws:lambda:region:account-id:function:myFunction" }

      Solution

      1. Step 1: Identify correct event type for object creation

        The event type for object creation is "s3:ObjectCreated:*" which covers all create events.
      2. Step 2: Check Lambda function ARN placement

        The LambdaFunctionArn must point to the Lambda function's ARN, not the bucket ARN.
      3. Final Answer:

        { "Events": ["s3:ObjectCreated:*"], "LambdaFunctionArn": "arn:aws:lambda:region:account-id:function:myFunction" } -> Option A
      4. Quick Check:

        Use "s3:ObjectCreated:*" for creation triggers [OK]
      Hint: Use "s3:ObjectCreated:*" for all object creation events [OK]
      Common Mistakes:
      • Using ObjectRemoved event instead of ObjectCreated
      • Putting bucket ARN instead of Lambda ARN
      • Using invalid event names like ObjectCreated:Delete
      3. Given this Lambda function code triggered by S3 object creation:
      def lambda_handler(event, context):
          bucket = event['Records'][0]['s3']['bucket']['name']
          key = event['Records'][0]['s3']['object']['key']
          return f"File {key} uploaded to {bucket}"

      What will be the output if a file named 'photo.jpg' is uploaded to bucket 'my-images'?
      medium
      A. "File uploaded to my-images"
      B. "File photo.jpg uploaded to my-images"
      C. "File my-images uploaded to photo.jpg"
      D. Runtime error due to missing event keys

      Solution

      1. Step 1: Extract bucket and key from event

        The code accesses event['Records'][0]['s3']['bucket']['name'] as bucket name and event['Records'][0]['s3']['object']['key'] as file key.
      2. Step 2: Substitute values from the upload event

        For file 'photo.jpg' uploaded to 'my-images', bucket='my-images' and key='photo.jpg'.
      3. Final Answer:

        "File photo.jpg uploaded to my-images" -> Option B
      4. Quick Check:

        Event keys map file and bucket correctly [OK]
      Hint: Check event['Records'][0]['s3'] keys for bucket and object [OK]
      Common Mistakes:
      • Mixing bucket name and object key positions
      • Assuming event keys are missing causing errors
      • Confusing string formatting output
      4. You configured an S3 bucket to trigger a Lambda function on object creation, but the Lambda is not invoked. What is the most likely cause?
      medium
      A. The S3 bucket notification configuration is missing permission for S3 to invoke Lambda.
      B. The S3 bucket is in a different AWS region than the Lambda function.
      C. The Lambda function code has a syntax error.
      D. The Lambda function's execution role lacks permission to read from S3.

      Solution

      1. Step 1: Check permissions for S3 to invoke Lambda

        S3 must have permission to invoke the Lambda function via a resource-based policy on Lambda.
      2. Step 2: Understand common misconfigurations

        Missing this permission causes Lambda not to trigger even if bucket notifications are set.
      3. Final Answer:

        The S3 bucket notification configuration is missing permission for S3 to invoke Lambda. -> Option A
      4. Quick Check:

        S3 needs invoke permission on Lambda [OK]
      Hint: Grant S3 permission to invoke Lambda in Lambda's resource policy [OK]
      Common Mistakes:
      • Confusing Lambda execution role with S3 invoke permission
      • Assuming code errors prevent invocation
      • Thinking region mismatch blocks invocation
      5. You want a Lambda function to process only PNG files uploaded to an S3 bucket. How should you configure the S3 event trigger to achieve this?
      hard
      A. Set the event type to 's3:ObjectCreated:Put' without any filters.
      B. Set the event type to 's3:ObjectRemoved:*' and add a prefix filter '.png'.
      C. Configure the Lambda function code to ignore non-PNG files without using filters.
      D. Set the event type to 's3:ObjectCreated:*' and add a filter with suffix '.png' in the bucket notification configuration.

      Solution

      1. Step 1: Use event type for object creation

        Use 's3:ObjectCreated:*' to capture all create events including uploads.
      2. Step 2: Apply suffix filter for '.png'

        Configure the bucket notification with a filter to trigger Lambda only for files ending with '.png'.
      3. Final Answer:

        Set the event type to 's3:ObjectCreated:*' and add a filter with suffix '.png' in the bucket notification configuration. -> Option D
      4. Quick Check:

        Use event filters to limit Lambda triggers by file type [OK]
      Hint: Use suffix filter '.png' in S3 event trigger for file type filtering [OK]
      Common Mistakes:
      • Using ObjectRemoved event instead of ObjectCreated
      • Relying only on Lambda code filtering without event filters
      • Using prefix filter with file extension instead of suffix
      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