S3 API 兼容性
本页面记录 MinIO 对象存储支持的 S3 API。 如需查看任意 API 的参考文档,请参阅 Amazon S3 的对应文档。
警告
重要
MinIO 强烈建议使用 S3 兼容 SDK 执行对象存储操作。
对象 API
- CopyObject
- DeleteObject
- DeleteObjects
- **条件 DELETE:**已发布的 Server 20260903 忽略
If-Match。当前 main 通过 #145/#178 支持单个DeleteObject的非空If-Match,显式版本比较指定版本。批量DeleteObjects仍忽略<Object><ETag>,没有逐项条件保护。详见范围与限制。
- **条件 DELETE:**已发布的 Server 20260903 忽略
- DeleteObjectTagging
- GetObject
- GetObjectAttributes
- GetObjectTagging
- HeadObject
- ListObjects
- ListObjectsV2
- ListObjectVersions
- PutObject
- PutObjectTagging
- RestoreObject
- SelectObjectContent
对象锁定
- GetObjectRetention
- PutObjectRetention
- GetObjectLegalHold
- PutObjectLegalHold
- GetObjectLockConfiguration
- PutObjectLockConfiguration
不支持的 API 对象端点
多部分上传
- AbortMultipartUpload
- CompleteMultipartUpload
- CreateMultipartUpload
- ListMultipartUploads
- ListParts
- UploadPart
- UploadPartCopy
与 S3 API 在多部分上传方面的差异
- 已发布的 Server 20260903:
ListMultipartUploads将非空prefix当成精确对象名;空 prefix 使用节点本地易失缓存,不具备完整分页、marker 和 delimiter 语义。 - PR #198 增加持久扫描与全局分页,并在原生 marker 对应上传被删除后继续翻页。发布前兼容性修复默认使用保留旧限制的
legacy模式;严格模式仅通过MINIO_API_MULTIPART_LISTING=strict显式启用。启用严格模式前需要所有 writer 升级、旧上传排空、只读预检及容量验收;严格模式在覆盖不足、旧格式或资源超限时返回 503。普通升级不要求切换模式或强制排空上传。排序、扫描容量与迟到创建写入的取消边界见实现与升级契约。这不表示发布产物或生产验收完成。 PutBucketLifecycle不支持AbortIncompleteMultipartUpload生命周期动作。
存储桶 API
- CreateBucket
- DeleteBucket
- DeleteBucketEncryption
- DeleteBucketTagging
- GetBucketEncryption
- GetBucketLocation
- GetBucketTagging
- GetBucketVersioning
- HeadBucket
- ListBuckets
- ListDirectoryBuckets
- PutBucketEncryption
- PutBucketTagging
- PutBucketVersioning
存储桶复制
存储桶生命周期
- GetBucketLifecycle
- GetBucketLifecycleConfiguration
- PutBucketLifecycle
- PutBucketLifecycleConfiguration
- DeleteBucketLifecycle
存储桶通知
- GetBucketNotification
- GetBucketNotificationConfiguration
- PutBucketNotification
- PutBucketNotificationConfiguration
存储桶策略
- GetBucketPolicy
- GetBucketPolicyStatus
- PutBucketPolicy
- DeleteBucketPolicy
- GetBucketCors
- PutBucketCors
- DeleteBucketCors
不支持的 API 存储桶操作
MinIO 针对不支持的存储桶资源的替代方案
- 对于
BucketACL或ObjectACL操作调用,请使用 Policies。 - 自
RELEASE.2026-09-03T13-18-01Z起支持BucketCORS操作。设置了自身 CORS 配置的存储桶只按该配置响应;未设置的存储桶使用服务端全局的MINIO_API_CORS_ALLOW_ORIGIN策略,默认允许所有来源。 - 对于
BucketWebsite操作调用,请使用caddy或nginx。 - 对于
BucketAnalytics、BucketMetrics或BucketLogging操作调用,请使用 存储桶通知。