S3
Object storage with bucket-scoped sub-resources — policies, versioning, lifecycle, CORS, ACLs, notifications, object lock, range requests.
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
73 operations exposed by this service as of MiniStack 1.4.21. Extracted directly from the handler dispatch in the source module.
AbortMultipartUpload
CompleteMultipartUpload
CopyObject
CreateBucket
CreateMultipartUpload
DeleteBucket
DeleteBucketCors
DeleteBucketEncryption
DeleteBucketLifecycle
DeleteBucketOwnershipControls
DeleteBucketPolicy
DeleteBucketReplication
DeleteBucketTagging
DeleteBucketWebsite
DeleteObject
DeleteObjects
DeleteObjectTagging
DeletePublicAccessBlock
GetBucketAccelerateConfiguration
GetBucketAcl
GetBucketCors
GetBucketEncryption
GetBucketLifecycleConfiguration
GetBucketLocation
GetBucketLogging
GetBucketNotificationConfiguration
GetBucketOwnershipControls
GetBucketPolicy
GetBucketReplication
GetBucketRequestPayment
GetBucketTagging
GetBucketVersioning
GetBucketWebsite
GetObject
GetObjectAcl
GetObjectAttributes
GetObjectLegalHold
GetObjectLockConfiguration
GetObjectRetention
GetObjectTagging
GetPublicAccessBlock
HeadBucket
HeadObject
ListBuckets
ListMultipartUploads
ListObjects
ListObjectsV2
ListObjectVersions
ListParts
PostObject
PutBucketAccelerateConfiguration
PutBucketAcl
PutBucketCors
PutBucketEncryption
PutBucketLifecycleConfiguration
PutBucketLogging
PutBucketNotificationConfiguration
PutBucketOwnershipControls
PutBucketPolicy
PutBucketReplication
PutBucketRequestPayment
PutBucketTagging
PutBucketVersioning
PutBucketWebsite
PutObject
PutObjectAcl
PutObjectLegalHold
PutObjectLockConfiguration
PutObjectRetention
PutObjectTagging
PutPublicAccessBlock
UploadPart
UploadPartCopy
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
Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.