存储

S3兼容性

了解Supabase Storage与S3的兼容性


Supabase Storage 兼容 S3 协议。您可以使用任何 S3 客户端与 Storage 对象进行交互。

Storage 支持标准上传可恢复上传S3上传,这些协议都是相互兼容的。您可以使用 S3 协议上传文件并通过 REST API 列出,或者使用可恢复上传方式上传并通过 S3 列出。

Storage 支持使用查询参数预签名 URL。具体而言,Supabase Storage 要求使用 AWS Signature Version 4 进行请求。要启用此功能,请在 Supabase Storage 的设置页面中通过 S3 协议启用 S3 连接。

已实现的端点

最常用的端点已实现,更多端点将会陆续添加。以下表格中标记为 ✅ 的表示已实现的 S3 端点。

存储桶操作

API 名称功能特性
ListBuckets
HeadBucket❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
CreateBucket❌ ACL:
❌ x-amz-acl
❌ x-amz-grant-full-control
❌ x-amz-grant-read
❌ x-amz-grant-read-acp
❌ x-amz-grant-write
❌ x-amz-grant-write-acp
❌ 对象锁定:
❌ x-amz-bucket-object-lock-enabled
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
DeleteBucket❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
GetBucketLocation❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
DeleteBucketCors❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
GetBucketEncryption❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
GetBucketLifecycleConfiguration❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
GetBucketCors❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
PutBucketCors❌ 校验和:
❌ x-amz-sdk-checksum-algorithm
❌ x-amz-checksum-algorithm
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
PutBucketLifecycleConfiguration❌ 校验和:
❌ x-amz-sdk-checksum-algorithm
❌ x-amz-checksum-algorithm
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner

对象操作

API 名称功能特性
HeadObject✅ 条件操作:
✅ If-Match
✅ If-Modified-Since
✅ If-None-Match
✅ If-Unmodified-Since
✅ 范围:
✅ Range (在 HeadObject 中无效)
✅ partNumber
❌ SSE-C(服务端加密客户端密钥):
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
ListObjects查询参数:
✅ delimiter
✅ encoding-type
✅ marker
✅ max-keys
✅ prefix
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
ListObjectsV2查询参数:
✅ list-type
✅ continuation-token
✅ delimiter
✅ encoding-type
✅ fetch-owner
✅ max-keys
✅ prefix
✅ start-after
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
GetObject✅ 条件操作:
✅ If-Match
✅ If-Modified-Since
✅ If-None-Match
✅ If-Unmodified-Since
✅ 范围:
✅ Range
✅ PartNumber
❌ SSE-C:
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
PutObject系统元数据:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
❌ Content-MD5
❌ 对象生命周期
❌ 网站重定向:
❌ x-amz-website-redirect-location
❌ SSE-C:
❌ x-amz-server-side-encryption
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ x-amz-server-side-encryption-aws-kms-key-id
❌ x-amz-server-side-encryption-context
❌ x-amz-server-side-encryption-bucket-key-enabled
❌ 请求支付方:
❌ x-amz-request-payer
❌ 标签:
❌ x-amz-tagging
❌ 对象锁定:
❌ x-amz-object-lock-mode
❌ x-amz-object-lock-retain-until-date
❌ x-amz-object-lock-legal-hold
❌ ACL:
❌ x-amz-acl
❌ x-amz-grant-full-control
❌ x-amz-grant-read
❌ x-amz-grant-read-acp
❌ x-amz-grant-write-acp
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
DeleteObject❌ 多因素认证:
❌ x-amz-mfa
❌ 对象锁定:
❌ x-amz-bypass-governance-retention
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
DeleteObjects❌ 多因素认证:
❌ x-amz-mfa
❌ 对象锁定:
❌ x-amz-bypass-governance-retention
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
ListMultipartUploads✅ 查询参数:
✅ delimiter
✅ encoding-type
✅ key-marker
✅️ max-uploads
✅ prefix
✅ upload-id-marker
CreateMultipartUpload✅ 系统元数据:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
❌ Content-MD5
❌ 网站重定向:
❌ x-amz-website-redirect-location
❌ SSE-C:
❌ x-amz-server-side-encryption
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ x-amz-server-side-encryption-aws-kms-key-id
❌ x-amz-server-side-encryption-context
❌ x-amz-server-side-encryption-bucket-key-enabled
❌ 请求支付方:
❌ x-amz-request-payer
❌ 标签:
❌ x-amz-tagging
❌ 对象锁定:
❌ x-amz-object-lock-mode
❌ x-amz-object-lock-retain-until-date
❌ x-amz-object-lock-legal-hold
❌ ACL:
❌ x-amz-acl
❌ x-amz-grant-full-control
❌ x-amz-grant-read
❌ x-amz-grant-read-acp
❌ x-amz-grant-write-acp
❌ 存储类别:
❌ x-amz-storage-class
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
CompleteMultipartUpload❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
❌ 请求支付方:
❌ x-amz-request-payer
AbortMultipartUpload❌ 请求支付方:
❌ x-amz-request-payer
CopyObject✅ 操作元数据:
⚠️ x-amz-metadata-directive
✅ 系统元数据:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
✅ 条件操作:
✅ x-amz-copy-source
✅ x-amz-copy-source-if-match
✅ x-amz-copy-source-if-modified-since
✅ x-amz-copy-source-if-none-match
✅ x-amz-copy-source-if-unmodified-since
❌ ACL:
❌ x-amz-acl
❌ x-amz-grant-full-control
❌ x-amz-grant-read
❌ x-amz-grant-read-acp
❌ x-amz-grant-write-acp
❌ 网站重定向:
❌ x-amz-website-redirect-location
❌ SSE-C:
❌ x-amz-server-side-encryption
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ x-amz-server-side-encryption-aws-kms-key-id
❌ x-amz-server-side-encryption-context
❌ x-amz-server-side-encryption-bucket-key-enabled
❌ x-amz-copy-source-server-side-encryption-customer-algorithm
❌ x-amz-copy-source-server-side-encryption-customer-key
❌ x-amz-copy-source-server-side-encryption-customer-key-MD5
❌ 请求支付方:
❌ x-amz-request-payer
❌ 标签:
❌ x-amz-tagging
❌ x-amz-tagging-directive
❌ 对象锁定:
❌ x-amz-object-lock-mode
❌ x-amz-object-lock-retain-until-date
❌ x-amz-object-lock-legal-hold
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
❌ x-amz-source-expected-bucket-owner
❌ 校验和:
❌ x-amz-checksum-algorithm
UploadPart✅ 系统元数据:
❌ Content-MD5
❌ SSE-C:
❌ x-amz-server-side-encryption
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
UploadPartCopy❌ 条件操作:
❌ x-amz-copy-source
❌ x-amz-copy-source-if-match
❌ x-amz-copy-source-if-modified-since
❌ x-amz-copy-source-if-none-match
❌ x-amz-copy-source-if-unmodified-since
✅ 范围:
✅ x-amz-copy-source-range
❌ SSE-C:
❌ x-amz-server-side-encryption-customer-algorithm
❌ x-amz-server-side-encryption-customer-key
❌ x-amz-server-side-encryption-customer-key-MD5
❌ x-amz-copy-source-server-side-encryption-customer-algorithm
❌ x-amz-copy-source-server-side-encryption-customer-key
❌ x-amz-copy-source-server-side-encryption-customer-key-MD5
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner
❌ x-amz-source-expected-bucket-owner
ListParts查询参数:
✅ max-parts
✅ part-number-marker
❌ 请求支付方:
❌ x-amz-request-payer
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner