S3 Express Mode
MinIO AIStor supports running in S3 Express Mode, an AWS S3 API surface for ultra-low latency, single-zone storage. This mode enables directory bucket behavior for optimized hierarchical storage structures, implementing the specific directory bucket behaviors documented by AWS.
Enable S3 Express mode
Add the --api parameter to the MINIO_OPTS parameter list in /etc/default/minio:
# /etc/default/minio
MINIO_OPTS="--api='S3Express' ..."
Append the parameter to the existing list of options passed to the minio process.
Supported operations
S3 Express mode supports the following API operations:
Bucket operations:
- CreateBucket, DeleteBucket
- GetBucketPolicy, PutBucketPolicy, DeleteBucketPolicy
- GetBucketEncryption, PutBucketEncryption, DeleteBucketEncryption
- GetBucketVersioning, PutBucketVersioning
- GetBucketLocation
- GetObjectLockConfiguration, PutObjectLockConfiguration
- GetBucketTagging, PutBucketTagging, DeleteBucketTagging
- GetBucketCORS, PutBucketCORS, DeleteBucketCORS
- GetBucketACL, PutBucketACL
- GetBucketWebsite, PutBucketWebsite, DeleteBucketWebsite
- ListBuckets
Object operations:
- GetObject, PutObject, DeleteObject
- HeadObject, HeadBucket
- GetObjectTagging, PutObjectTagging, DeleteObjectTagging
- GetObjectRetention, PutObjectRetention
- GetObjectLegalHold, PutObjectLegalHold
- GetObjectACL, PutObjectACL
- GetObjectAttributes
- CopyObject
Multipart operations:
- CreateMultipartUpload
- UploadPart, UploadPartCopy
- CompleteMultipartUpload, AbortMultipartUpload
- ListMultipartUploads, ListParts
Encryption:
- Server-Side Encryption with S3-managed keys (SSE-S3)
- Server-Side Encryption with KMS (SSE-KMS)
Query:
- SelectObjectContent (S3 Select)
- RestoreObject
Features not available
The following MinIO AIStor features are disabled in S3 Express mode:
| Feature category | Disabled features |
|---|---|
| Replication | Bucket replication, site replication, replication targets and metrics |
| Tiering and lifecycle | Lifecycle rules with transitions, tier management |
| Administration | Bucket quotas, Quality of Service (QoS) rate limiting |
| Batch | Batch jobs that depend on disabled features |
S3 Express API behavior
S3 Express is a newer, more performant API optimized for upload workloads:
- ListObjectsV2 prefix: Prefix must end with
/. - Multipart upload ordering: Parts must be uploaded in sequential order (1, 2, 3, …), enabling optimized write paths.
- Encryption: Supports SSE-S3 and SSE-KMS. Does not support SSE-C (customer-provided keys).
When to use S3 Express mode
Use S3 Express mode when you require AWS S3 Express One Zone API compatibility or your application is built specifically for S3 Express.
Use the standard S3 API mode (the default) when you need replication, tiering, lifecycle transitions, bucket quotas, QoS, or full S3 API compatibility.
Deployment considerations
S3 Express mode works with all MinIO AIStor deployment architectures: standalone, distributed multi-node, and pooled deployments.
Before enabling S3 Express mode:
- Remove any existing replication configurations.
- Remove lifecycle rules with transitions.
- Remove bucket quotas.
- Verify that applications use only the supported APIs listed above.