1
0
mirror of https://github.com/minio/docs.git synced 2025-04-19 21:02:14 +03:00
docs/source/reference/s3-api-compatibility.rst
Jennifer Rondeau d8fd984346
Explain limitations with multi-part uploads, move other unsupported/limitations content (#1345)
- Explains requirements for `ListMultipartUploads`
- Notes that `AbortIncompleteMultipartUploads` is not supported with
`PutBucketLifecycle`

This approach does not provide all the detail in the original ticket,
because we don't do so for other operations/actions.

Also moved content about bucket operations limitations from thresholds
and limits page to S3 compatibility page. Took some suggestions from
discussion in ticket.

Closes #1216 

Staging:

[Differences from S3 APIs for Multipart
Uploads](http://192.241.195.202:9000/staging/DOC-1216/linux/reference/s3-api-compatibility.html#id5)
[MinIO alternatives for unsupported Bucket
resources](http://192.241.195.202:9000/staging/DOC-1216/linux/reference/s3-api-compatibility.html#id12)
To check that content is moved: [Thresholds and
Limits](http://192.241.195.202:9000/staging/DOC-1216/linux/operations/concepts/thresholds.html)
2024-10-08 13:19:16 -04:00

6.1 KiB

S3 API Compatibility

minio

Table of Contents

This page documents S3 APIs supported by MinIO Object Storage. For reference documentation on any given API, see the corresponding documentation for Amazon S3.

Important

MinIO strongly recommends using an S3-Compatible SDK <minio-drivers> for performing object storage operations.

Object APIs

  • CopyObject <API_CopyObject.html>
  • DeleteObject <API_DeleteObject.html>
  • DeleteObjects <API_DeleteObjects.html>
  • DeleteObjectTagging <API_DeleteObjectTagging.html>
  • GetObject <API_GetObject.html>
  • GetObjectAttributes <API_GetObjectAttributes.html>
  • GetObjectTagging <API_GetObjectTagging.html>
  • HeadObject <API_HeadObject.html>
  • ListObjects <API_ListObjects.html>
  • ListObjectsV2 <API_ListObjectsV2.html>
  • ListObjectVersions <API_ListObjectVersions.html>
  • PutObject <API_PutObject.html>
  • PutObjectTagging <API_PutObjectTagging.html>
  • RestoreObject <API_RestoreObject.html>
  • SelectObjectContent <API_SelectObjectContent.html>

Object Locking

  • GetObjectRetention <API_GetObjectRetention.html>
  • PutObjectRetention <API_PutObjectRetention.html>
  • GetObjectLegalHold <API_GetObjectLegalHold.html>
  • PutObjectLegalHold <API_PutObjectLegalHold.html>
  • GetObjectLockConfiguration <API_GetObjectLockConfiguration.html>
  • PutObjectLockConfiguration <API_PutObjectLockConfiguration.html>

Unsupported API Object Endpoints

GetObjectAcl
PutObjectAcl

Multipart Uploads

  • AbortMultipartUpload <API_AbortMultipartUpload.html>
  • CompleteMultipartUpload <API_CompleteMultipartUpload.html>
  • CreateMultipartUpload <API_CreateMultipartUpload.html>
  • ListMultipartUploads <API_ListMultipartUploads.html>
  • ListParts <API_ListParts.html>
  • UploadPart <API_UploadPart.html>
  • UploadPartCopy <API_UploadPartCopy.html>

Differences from S3 APIs for Multipart Uploads

  • ListMultipartUploads requires the exact object name as a prefix.
  • The AbortIncompleteMultipartUpload lifecycle action is not supported with PutBucketLifecycle.

Bucket APIs

  • CreateBucket <API_CreateBucket.html>
  • DeleteBucket <API_DeleteBucket.html>
  • DeleteBucketEncryption <API_DeleteBucketEncryption.html>
  • DeleteBucketTagging <API_DeleteBucketTagging.html>
  • GetBucketEncryption <API_GetBucketEncryption.html>
  • GetBucketLocation <API_GetBucketLocation.html>
  • GetBucketTagging <API_GetBucketTagging.html>
  • GetBucketVersioning <API_GetBucketVersioning.html>
  • HeadBucket <API_HeadBucket.html>
  • ListBuckets <API_ListBuckets.html>
  • ListDirectoryBuckets <API_ListDirectoryBuckets.html>
  • PutBucketEncryption <API_PutBucketEncryption.html>
  • PutBucketTagging <API_PutBucketTagging.html>
  • PutBucketVersioning <API_PutBucketVersioning.html>

Bucket Replication

  • GetBucketReplication <API_GetBucketReplication.html>
  • PutBucketReplication <API_PutBucketReplication.html>
  • DeleteBucketReplication <API_DeleteBucketReplication.html>

Bucket Lifecycle

  • GetBucketLifecycle <API_GetBucketLifecycle.html>
  • GetBucketLifecycleConfiguration <API_GetBucketLifecycleConfiguration.html>
  • PutBucketLifecycle <API_PutBucketLifecycle.html>
  • PutBucketLifecycleConfiguration <API_PutBucketLifecycleConfiguration.html>
  • DeleteBucketLifecycle <API_DeleteBucketLifecycle.html>

Bucket Notifications

  • GetBucketNotification <API_GetBucketNotification.html>
  • GetBucketNotificationConfiguration <API_GetBucketNotificationConfiguration.html>
  • PutBucketNotification <API_PutBucketNotification.html>
  • PutBucketNotificationConfiguration <API_PutBucketNotificationConfiguration.html>

Bucket Policies

  • GetBucketPolicy <API_GetBucketPolicy.html>
  • GetBucketPolicyStatus <API_GetBucketPolicyStatus.html>
  • PutBucketPolicy <API_PutBucketPolicy.html>
  • DeleteBucketPolicy <API_DeleteBucketPolicy.html>

Unsupported API Bucket Operations

GetBucketInventoryConfiguration
PutBucketInventoryConfiguration
DeleteBucketInventoryConfiguration
PutBucketCors
DeleteBucketCors
GetBucketMetricsConfiguration
PutBucketMetricsConfiguration
DeleteBucketMetricsConfiguration
PutBucketWebsite
GetBucketLogging
PutBucketLogging
PutBucketAccelerateConfiguration
DeleteBucketAccelerateConfiguration
PutBucketRequestPayment
DeleteBucketRequestPayment
PutBucketAcl
HeadBucketAcl
GetPublicAccessBlock
PutPublicAccessBlock
DeletePublicAccessBlock
GetBucketOwnershipControls
PutBucketOwnershipControls
DeleteBucketOwnershipControls
GetBucketIntelligentTieringConfiguration
PutBucketIntelligentTieringConfiguration
ListBucketIntelligentTieringConfigurations
DeleteBucketIntelligentTieringConfiguration
GetBucketAnalyticsConfiguration
PutBucketAnalyticsConfiguration
ListBucketAnalyticsConfigurations
DeleteBucketAnalyticsConfiguration
CreateSession

MinIO alternatives for unsupported Bucket resources

  • For calls to BucketACL or ObjectACL operations, use Policies <minio-policy>.
  • Calls to BucketCORS operations are not needed because CORS is enabled by default on all buckets for all HTTP verbs.
  • For calls to BucketWebsite operations, use caddy or nginx.
  • For calls to BucketAnalytics, BucketMetrics, or BucketLogging operations, use Bucket Notifications <minio-bucket-notifications>.