Playgrounds / Object storage

Object-storage sandbox

Change a request, predict its result and inspect what remains in the bucket.

This is a local teaching model of selected S3 ideas, not Amazon S3 or an S3 emulator. It makes no network requests and needs no credentials. Your work stays in this tab’s memory and disappears on reload.

AI-generated

Choosing another lesson replaces this practice state with that lesson’s starting point.

Request

Run one request at a time. These are playground commands, not AWS CLI syntax. Saved replies use references such as $base.etag.

Running again uses the current state. Restore changes only the editor; Restart restores the whole lesson.

Response

Run the request to see its response.

Raw model response

Bucket and application state

This inspector shows the model’s internal state, including changes a caller with a lost reply could not yet know.

Unfinished uploads and application state
Saved successful replies
Request reference and model boundaries

All lessons use one versioning-enabled bucket. Every PUT retains a version; DELETE adds a marker. ETags are content-derived SHA-256 values prefixed with model-, not real S3 ETags. Requests execute sequentially. Unsupported fields are rejected.

OperationFields after opResult to inspect
PUTkey, body; optional metadata, ifMatch or ifNoneMatch: "*"A version, or a rejected precondition
GET / LISTGET: key, optional version. LIST: optional prefixBody and identity / current names
DELETE / DELETE_VERSIONkey / key and versionA marker / removal of one version
CREATE_UPLOADkeyAn upload ID
UPLOAD_PARTupload, part, bodyPart ETag
COMPLETE_UPLOADupload, parts: [{part, etag}]; optional write conditionSelected parts become one object
ABORT_UPLOADuploadUnfinished work disappears
CACHE_GET / TICKkey, optional ttl / secondsCached copy / model time
APP_CREATEid, keyA pending application record
APP_VALIDATE / APP_PUBLISH / APP_ABANDONidExact-version verification / ready / abandoned
PROCESS_EVENTkey, sequence, body; optional stopAfterOutputOutput, completion ledger and latest pointer
COSTrecords, bytesPerRecord, recordsPerObject, scans; optional copies, retryFraction, ratesFull-scan request and byte arithmetic
VECTOR_QUERYquery: [x,y]; optional topK, categoryExact distances for four invented records

saveAs saves a successful reply, such as "saveAs":"base". Later fields can use "$base.etag" or "$base.version". loseReply:true applies a successful operation but withholds its reply; the caller must reconcile. It does not save a response variable.

The model omits IAM, signatures, CORS, network timing, real multipart sizes, checksums, listing pagination, Object Lock, lifecycle scheduling, replication and AWS pricing. Application, cache, cost and vector operations are explicitly local models. It limits text bodies, key counts and history to keep this tab responsive. Use the real-S3 worksheet to test actual service responses.

Requests run in this lesson