Skip to content
Storage

S3 兼容性

Learn about the compatibility of Supabase Storage with S3.

Supabase Storage 与 S3 协议兼容。你几乎可以使用任何 S3 客户端来与存储对象互动(比如 Cyberduck)。

🌐 Supabase Storage is compatible with the S3 protocol. You can use almost any S3 client to interact with your Storage objects (such as Cyberduck).

存储支持标准可续传S3上传,而且这些协议都是互通的。你可以用S3协议上传文件,然后用REST API查看,也可以用可续传上传,再用S3查看。

🌐 Storage supports standard, resumable and S3 uploads and all these protocols are interoperable. You can upload a file with the S3 protocol and list it with the REST API or upload with Resumable uploads and list with S3.

存储支持使用查询参数来预签 URL。具体来说,Supabase 存储要求使用 AWS 签名版本 4 来发起请求。要启用此功能,请在 Supabase 存储的设置页面通过 S3 协议启用 S3 连接。

🌐 Storage supports presigning a URL using query parameters. Specifically, Supabase Storage expects requests to be made using AWS Signature Version 4. To enable this feature, enable the S3 connection via S3 protocol in the Settings page for Supabase Storage.

已实现的端点 #

🌐 Implemented endpoints

最常用的端点已经实现,未来还会增加更多。已实现的 S3 端点在下表中用 ✅ 标出。

🌐 The most commonly used endpoints are implemented, and more will be added. Implemented S3 endpoints are marked with ✅ in the following tables.

桶操作 #

🌐 Bucket operations

API 名称功能
列出存储桶
HeadBucket❌ 桶所有者:
❌ x-amz-expected-bucket-owner
创建存储桶❌ 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-预期存储桶所有者
获取桶位置❌ 桶所有者:
❌ x-amz-预期桶所有者
DeleteBucketCors❌ 存储桶所有者:
❌ x-amz-预期存储桶所有者
获取存储桶加密❌ 存储桶所有者:
❌ x-amz-预期存储桶所有者
获取桶生命周期配置❌ 桶所有者:
❌ x-amz-预期桶所有者
获取存储桶Cors❌ 存储桶所有者:
❌ x-amz-预期存储桶所有者
PutBucketCors❌ 校验和:
❌ x-amz-sdk-checksum-algorithm
❌ x-amz-checksum-algorithm
❌ 桶拥有者:
❌ x-amz-expected-bucket-owner
设置存储桶生命周期配置❌ 校验和:
❌ x-amz-sdk-checksum-algorithm
❌ x-amz-checksum-algorithm
❌ 存储桶所有者:
❌ x-amz-expected-bucket-owner

对象操作 #

🌐 Object operations

API 名称功能
HeadObject✅ 条件操作:
✅ If-Match
✅ If-Modified-Since
✅ If-None-Match
✅ If-Unmodified-Since
✅ Range:
✅ 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查询参数:
✅ 分隔符
✅ 编码类型
✅ 标记
✅ 最大键数
✅ 前缀
❌ 请求付款方:
❌ 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
获取对象✅ 条件操作:
✅ If-Match
✅ If-Modified-Since
✅ If-None-Match
✅ If-Unmodified-Since
✅ 范围:
✅ Range
✅ PartNumber
❌ SSE-C:
❌ x-amz-服务器端加密-客户算法
❌ x-amz-服务器端加密-客户密钥
❌ x-amz-服务器端加密-客户密钥-MD5
❌ 请求付款方:
❌ x-amz-请求付款方
❌ 存储桶所有者:
❌ x-amz-预期存储桶所有者
PutObjectSystem Metadata:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
❌ Content-MD5
❌ Object Lifecycle
❌ Website:
❌ 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
❌ Request Payer:
❌ x-amz-request-payer
❌ Tagging:
❌ x-amz-tagging
❌ Object Locking:
❌ 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
❌ Bucket Owner:
❌ 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(上传ID标记)
CreateMultipartUpload✅ System Metadata:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
❌ Content-MD5
❌ Website:
❌ 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
❌ Request Payer:
❌ x-amz-request-payer
❌ Tagging:
❌ x-amz-tagging
❌ Object Locking:
❌ 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
❌ Storage class:
❌ x-amz-storage-class
❌ Bucket Owner:
❌ x-amz-expected-bucket-owner
CompleteMultipartUpload❌ 存储桶拥有者:
❌ x-amz-预计的存储桶拥有者
❌ 请求付款人:
❌ x-amz-请求付款人
AbortMultipartUpload❌ 请求付款方:
❌ x-amz-request-payer
CopyObject✅ Operation Metadata:
⚠️ x-amz-metadata-directive
✅ System Metadata:
✅ Content-Type
✅ Cache-Control
✅ Content-Disposition
✅ Content-Encoding
✅ Content-Language
✅ Expires
✅ Conditional Operations:
✅ 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
❌ Website:
❌ 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
❌ Request Payer:
❌ x-amz-request-payer
❌ Tagging:
❌ x-amz-tagging
❌ x-amz-tagging-directive
❌ Object Locking:
❌ x-amz-object-lock-mode
❌ x-amz-object-lock-retain-until-date
❌ x-amz-object-lock-legal-hold
❌ Bucket Owner:
❌ x-amz-expected-bucket-owner
❌ x-amz-source-expected-bucket-owner
❌ Checksums:
❌ x-amz-checksum-algorithm
上传部分✅ 系统元数据:
❌ 内容-MD5
❌ SSE-C:
❌ x-amz-服务器端加密
❌ x-amz-服务器端加密-客户算法
❌ x-amz-服务器端加密-客户密钥
❌ x-amz-服务器端加密-客户密钥-MD5
❌ 请求付款方:
❌ x-amz-请求付款方
❌ 存储桶所有者:
❌ x-amz-预期存储桶所有者
上传分段拷贝❌ 条件操作:
❌ 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
❌ Bucket 所有者:
❌ 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