1.3 - Application integration (presigned URLs, SQS FIFO, event filters)

AWS Certified Developer Associate objective 1.3 covers integrating application components. To give browser clients a temporary link to download a private object, a developer creates a pre-signed GET URL with the SDK, granting time-limited access without making the object public. With SQS FIFO, to guarantee that messages for the same customer are processed strictly in order, the message group ID identifies that customer, since ordering is preserved per group while different groups process in parallel. When a Lambda is triggered by a DynamoDB stream but should run only for certain items, adding an event filter pattern on the event source mapping lets AWS filter events before invoking the function, saving cost. You should also know SNS fan-out, EventBridge and dead-letter queues. Expect scenario questions that describe temporary object access, per-key ordering, or selective event triggering, and ask which integration technique applies.

Memory hook
Temporary link to download a private S3 object = pre-signed GET URL (SDK). Strict order per customer in SQS FIFO = message group ID. Only invoke Lambda for some stream items = event filter pattern on the event source mapping.

Practice questions

1. An order workflow has multiple sequential steps with retries and branching. Which service coordinates this as a managed state machine?

  • Amazon SQS
  • AWS Step Functions (correct answer)
  • Amazon EventBridge
  • AWS AppConfig

Step Functions orchestrates multi-step workflows as a state machine with built-in retries, error handling, branching, and parallelism, ideal for coordinating Lambdas and services.

2. Which pattern prevents a caller from overwhelming a downstream API when many SDK calls are throttled?

  • Increasing the per-request timeout to several minutes
  • Removing all client-side retries entirely
  • Opening many more parallel TCP connections
  • Retries with exponential backoff and jitter (correct answer)

On throttling (HTTP 429/ThrottlingException), retrying with exponential backoff plus random jitter spaces out retries and avoids synchronized retry storms. AWS SDKs implement this by default.

3. A developer wants SNS subscribers to receive only messages that match certain attributes, without filtering in the consumer. What enables this?

  • A subscription filter policy on message attributes (correct answer)
  • A dead-letter queue attached to the topic
  • A FIFO ordering key on each published message
  • A CloudWatch alarm on the topic metrics

SNS subscription filter policies evaluate message attributes (or body) so each subscriber gets only matching messages, moving filtering to the broker and reducing consumer load.

4. A developer must run a scheduled job every day at 06:00 UTC using a serverless, event-driven approach. Which is the most appropriate?

  • A DynamoDB TTL attribute set to expire at 06:00
  • An always-running EC2 instance polling a clock
  • An SQS delay queue with a 24-hour timer
  • An EventBridge scheduled rule invoking a Lambda (correct answer)

EventBridge (formerly CloudWatch Events) supports cron/rate scheduled rules that reliably invoke targets like Lambda. DynamoDB TTL deletion timing is best-effort and not a scheduler.

5. A Lambda is configured with an SQS event source. Which setting controls how many messages are delivered to the function per invocation?

  • The batch size on the event source mapping (correct answer)
  • The function's reserved concurrency limit
  • The SQS queue's message retention period
  • The Lambda ephemeral storage allocation

The event source mapping's batch size sets how many SQS messages are bundled into one Lambda invocation (up to 10000 for standard with batching window, subject to payload limits), tuning throughput vs per-invoke work.

6. A single event should trigger multiple independent consumers (email, analytics, audit) simultaneously. Which pattern fits best?

  • A single SQS queue polled by one worker
  • SNS fan-out to multiple subscribed endpoints (correct answer)
  • A DynamoDB table storing the event for polling
  • A single Lambda calling each consumer in series

SNS fan-out publishes one message to many subscribers (SQS queues, Lambdas, HTTP) at once, decoupling producer from independent consumers. A single queue or serial Lambda couples consumers together.

Related objectives