Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “S3 Object Operations” created: 2026-07-20 updated: 2026-07-20 type: knowledge tags:

  • aws
  • s3
  • storage
  • certification

S3 Object Operations

What It Is

The core CRUD operations you perform on S3 objects: upload (PUT), download (GET), list, copy, and delete.

Why It Matters

Understanding S3 API operations is essential for both the certification exam and day-to-day cloud work. Permissions are granted at the operation level (e.g., s3:PutObject, s3:GetObject).

Key Concepts

Upload (PutObject)

  • Via Console: upload wizard (drag-and-drop or file picker)
  • Via CLI: aws s3 cp <local-file> s3://<bucket>/
  • Via SDK: putObject() API call
  • Single PUT max: 5 GB
  • Multipart upload recommended for files > 100 MB (required > 5 GB)

Download (GetObject)

  • Via Console: select object → download
  • Via CLI: aws s3 cp s3://<bucket>/<key> <local-path>
  • Via pre-signed URL for temporary access

Object URL

Each object has a URL: https://<bucket>.s3.<region>.amazonaws.com/<key>

Accessing this URL returns the object only if permissions allow it. By default: Access Denied.

Metadata

  • System metadata: Content-Type, Content-Length, Last-Modified, ETag
  • User-defined metadata: key-value pairs prefixed with x-amz-meta-
  • Metadata is immutable after upload (must re-upload to change)

List (ListObjects)

  • aws s3 ls s3://<bucket>/ — lists objects in a bucket
  • Returns key, size, last modified date

Gotchas

  • Uploading an object with the same key overwrites it (unless versioning is enabled)
  • S3 has no native “rename” — you copy to new key and delete the old one
  • Large file uploads should always use multipart to handle network failures gracefully

See Also

  • [[s3-fundamentals]]
  • [[s3-versioning]]
  • [[aws-cli-s3-commands]]
  • [[s3-bucket-policies]]