DocsAWS 101BlogServices

S3

Object storage with bucket-scoped sub-resources — policies, versioning, lifecycle, CORS, ACLs, notifications, object lock, range requests.

REST (XML/JSON) multi-tenant 71 operations

Quick start

import boto3
s3 = boto3.client("s3", endpoint_url="http://localhost:4566",
                  region_name="us-east-1",
                  aws_access_key_id="test", aws_secret_access_key="test")
s3.create_bucket(Bucket="demo")
s3.put_object(Bucket="demo", Key="hi.txt", Body=b"hello")
print(s3.get_object(Bucket="demo", Key="hi.txt")["Body"].read())

Supported operations

71 operations exposed by this service as of MiniStack 1.3.14. Extracted directly from the handler dispatch in the source module.

... and 24 more accelerate acl cors create_bucket create_multipart_upload DELETE delete delete_bucket delete_bucket_cors delete_bucket_encryption delete_bucket_lifecycle delete_bucket_ownership_controls delete_bucket_policy delete_bucket_replication delete_bucket_tagging delete_bucket_website delete_object delete_object_tagging delete_objects delete_public_access_block encryption GET get_bucket_accelerate get_bucket_acl get_bucket_cors get_bucket_encryption get_bucket_lifecycle get_bucket_location get_bucket_logging get_bucket_notification get_bucket_ownership_controls get_bucket_policy get_bucket_replication get_bucket_request_payment get_bucket_tagging get_bucket_versioning get_bucket_website get_object get_object_data get_object_legal_hold get_object_lock_configuration get_object_retention get_object_tagging get_public_access_block HEAD head_bucket head_object legal-hold lifecycle list-type list_buckets list_multipart_uploads list_object_versions list_parts location logging notification object-lock ownershipControls partNumber policy POST publicAccessBlock PUT put_bucket_accelerate put_bucket_acl put_bucket_cors put_bucket_encryption put_bucket_lifecycle put_bucket_logging

CloudFormation

The CloudFormation engine provisions these resource types via this service:

AWS::S3::Bucket AWS::S3::BucketPolicy

See CloudFormation engine for intrinsic support and lifecycle details.

Known limitations

  • SSE-KMS encryption keys are stored per object but encryption/decryption is a silent no-op — ciphertext equals plaintext.
  • Replication configuration accepted; no cross-bucket replication is performed.
  • Notification configuration accepted; events are only dispatched for SQS/SNS/Lambda targets that MiniStack tracks.

Source

  • ministack/services/s3.py:372-421

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.