/Amazon S3 for Developers
Concept Detail

Amazon S3 for Developers

Difficulty: medium

Overview


Consistency: Strong read-after-write consistency for all operations since Dec 2020.

Multipart Upload: Recommended > 100 MB, required > 5 GB. Upload parts in parallel. Parts can be retried. Must complete or abort.

Pre-signed URLs: Temp access for GET or PUT. Up to 7 days (IAM user) or 12 hours (IAM role via STS).

S3 Event Notifications: ObjectCreated, ObjectRemoved → SQS, SNS, Lambda, EventBridge.

Object Lock (WORM):

  • Compliance Mode: No one can delete before retention expires.
  • Governance Mode: Privileged users can override.

SSE Options:

  • SSE-S3: AWS manages keys. Header: x-amz-server-side-encryption: AES256.
  • SSE-KMS: KMS manages keys. Uses GenerateDataKey per object.
  • SSE-C: Customer provides key per request. HTTPS required.

Versioning: DELETE creates delete marker. MFA Delete: requires MFA to permanently delete versions.

CORS: Configure on bucket for browser clients making direct S3 requests from different domains.

S3 Select: Query data in-place with SQL. Reduce data transfer.

Transfer Acceleration: CloudFront edge for upload acceleration. URL: bucket.s3-accelerate.amazonaws.com.

Practice Linked Questions


easy

Q1. A developer needs to allow a web browser to make cross-origin requests to an S3 bucket to display images. The browser shows a CORS error. What must the developer configure?


Select one answer before revealing.

medium

Q2. A developer uses the S3 SDK to upload 100 MB files. Uploads frequently fail on slow connections. What S3 feature should the developer use to improve reliability?


Select one answer before revealing.

easy

Q3. A developer needs to generate a temporary URL allowing an unauthenticated user to download a specific S3 object for exactly 15 minutes. Which S3 feature should be used?


Select one answer before revealing.

easy

Q4. A developer accidentally deleted 1,000 S3 objects. The bucket does not have versioning enabled. Can the objects be recovered?


Select one answer before revealing.

medium

Q5. A developer needs to store sensitive medical records in S3. The data must be encrypted with a customer-managed key, and all key usage must be auditable. The developer also needs to rotate the key annually. Which S3 encryption configuration satisfies all requirements?


Select one answer before revealing.

easy

Q6. A developer needs to trigger a Lambda function every time a new object is uploaded to an S3 bucket. Which S3 feature should be configured?


Select one answer before revealing.