This chapter is an outline. The curriculum, learning objectives and
structure are settled; the prose, diagrams and code are still being written.
What is below is the plan for the chapter, not the chapter.
Lab 13 — S3 → SQS
Goal
An upload producing a message — and the multipart trap that silently drops large files.
Setup
To be written — CLI commands and an IaC equivalent for every resource, all prefixed sqs-course-.
Steps
- Create a bucket and a queue
- Add the queue policy for
s3.amazonaws.comwithaws:SourceArn - Configure a notification for
s3:ObjectCreated:Putonly - Upload a small file; observe the message and note it carries bucket/key, not the body
- Upload a large file that triggers a multipart upload; observe no message arrives
- Change the filter to
s3:ObjectCreated:*and retry - Fetch the object from the consumer using the key in the message
What you should observe
- The message is a reference, not the object
- Multipart uploads emit
CompleteMultipartUpload, notPut - A wrong event-type filter loses exactly your biggest files
Why it happened
To be written — ties each observation back to the mechanism in 21 — Event Sources: S3, EventBridge, API Gateway.
Experiments to try
To be written — deliberate variations that change the outcome.
Teardown
To be written — every resource created above, in dependency order.
← Back to: 29 — Hands-on Labs