Skip to main content
Square Cloud Blob Storage 服务概览

为什么选择 Square Cloud Blob Storage?

作为拉丁美洲最大的机器人托管平台,深受巴西 100 大 Discord 服务器中 80 家的信赖,我们打造 Blob Storage 是为了解决我们自己社区不断遇到的一个问题:Discord 的 CDN 从来就不是为存储后端设计的,链接会失效、过期或被限流。Blob Storage 用一个专为持久性设计的对象存储取代了它。 设计上刻意保持简单:S3 兼容的对象存储是文件的真实数据源,由全球 CDN 从边缘分发。你既能获得 S3 设计的 11 个 9 持久性,又能享有全球缓存的读取延迟,而且每个计划都包含充足的存储空间。

核心特性

无流量费用

**零入站/出站费用。**想上传和分发多少就上传和分发多少:你只需为存储付费,永远不必为带宽付费。

全球 CDN

公开文件通过全球 CDN 在边缘分发,无论用户身在何处,都能就近送达。

私有文件

存储没有公开 URL 的文件,并通过临时链接或分享链接分发。任何文件都可以随时在公开与私有之间切换。

分享链接

链接可以过期、可以撤销、可以限制下载次数,在 Pro 和 Enterprise 计划上还可以要求密码。

S3 兼容

通过 S3 网关使用 aws-cli、boto3、rclone 或任意 AWS SDK,凭证由你的 API key 派生。

浏览器上传

你的服务器签发一个上传令牌,由浏览器直接上传,全程不会接触你的 API key。

按前缀设置规则

通过账户设置为某个前缀下的所有内容设置默认值(可见性、过期、缓存)、限制(大小、文件类型)以及 N 天后自动删除。

服务器端操作

无需下载即可复制、移动和重命名文件,并可原地修改响应头(缓存、disposition、元数据)。

工作原理

文件可以通过 REST API、浏览器(使用上传令牌)或任意 S3 工具进入。每个文件要么是公开的,要么是私有的,并通过公开 URL、临时链接或分享链接对外提供。

存储与定价

存储空间随计划附带,且没有流量费用:你只需为超出配额的存储部分付费。

包含的存储

每个计划都包含存储空间,无需额外付费,并随计划升级而增加:

达到配额时

当你的用量达到内置配额时,新的上传会被拒绝并返回 STORAGE_QUOTA_EXCEEDED,直到你释放空间或升级计划。已存储的所有内容仍会正常分发。超出配额之外保留的存储(例如降级计划之后)按以下价格计费:

超出配额的存储

超出所含配额后,每个已开始使用的 GiB 收费 R$ 0.20。
账户统计会报告你当前的用量、本月平均用量,以及超出配额部分存储的预估费用。
Blob Storage 仅对拥有有效计划的用户开放。没有有效计划的账户仍然可以列出、下载、删除文件以及将文件设为私有。计划到期或被取消后,已存储的文件会进入删除队列,因此请尽快续费:已被删除的文件无法恢复。

各计划功能

每个计划都可使用完整的 API:公开与私有文件、临时链接、分享链接、S3 网关、上传令牌以及按前缀设置规则。少数选项取决于计划,它们都会返回相同的 403 UPGRADE_REQUIRED 代码,并附带一个指明适用计划(或限制)的 message:

公开文件与私有文件

每个对象要么是公开的,要么是私有的,由其 id 表明:pub/<user_id>/<path> 或 prv/<user_id>/<path>。
  • 公开文件拥有永久的 CDN URL:https://blob.squarecloud.dev/pub/<user_id>/<path>。
  • 私有文件没有公开 URL(url 为 null)。你可以通过临时链接、分享链接、API 或 S3 网关读取它们。
  • 2026 年 9 月更新之前上传的旧版文件保留原始 id <user_id>/<path>,每个路由都接受该 id。其位于 https://public-blob.squarecloud.dev/<user_id>/<path> 的原始 URL 将继续有效 30 天,直至 2026 年 10 月 25 日:使用 Object Copy(move: true)移动文件,即可获得 blob.squarecloud.dev 上的 URL。
有关发布、取消发布以及各类链接的行为,请阅读链接与分享。

支持的文件类型

实际上任何文件类型都可以接受,包括没有注册 MIME 类型的格式:.bam、.vcf、.fasta、.fastq、.parquet、.h5、.npy 等。存储的扩展名来自你上传的文件名,并且复合压缩后缀会被保留(reads.fastq.gz 保持为 .fastq.gz)。 唯一的例外是可执行文件和安装程序的黑名单(.exe、.msi、.bat、.apk 及类似格式),它们会被拒绝并返回 BLOCKED_FILE_TYPE。
对外分发在设计上是安全的:分发时的 Content-Type 由服务器端推导,绝不来自客户端。未知格式和浏览器可渲染的类型(.html、.svg、.xml)始终以下载方式提供(application/octet-stream),因此恶意上传的内容永远不会在浏览器中被渲染。

性能与持久性

Blob Storage 在发布前经过了大量基准测试。关键结论:
  • 延迟:平均约 ~11 ms 即可收到文件。
  • 持久性:按 99.999999999%(11 个 9) 设计。
  • 边缘分发:公开文件缓存在 CDN 边缘,重复读取无需回源。
  • 健康检查:https://blob.squarecloud.dev/pub/status 返回 OK 且从不缓存,可以直接用于你的监控。
Blob Storage 全球延迟基准测试
注意:基准测试结果来自受控测试,会因地理位置、文件大小、网络质量和使用高峰而有所不同。要获得最准确的数据,请在你的生产环境中测试。
区域限制:由于距离数据中心的物理距离和本地网络基础设施的原因,位于非洲及部分亚洲地区的用户可能会遇到更高的延迟。

如何托管你的文件

1

获取 API key

在你的账户设置中创建一个带有 blob:write scope 的 API key。参见身份验证。
2

上传

将最大 100 MB 的文件发送到对象上传。更大的文件(最大 10 GiB)请走分块上传流程。更喜欢 S3 工具?那就将它们指向 S3 网关。
3

分发

公开文件使用响应中的 url,私有文件则创建一个临时链接或分享链接。
如需用 curl 完成第一次上传和下载,请参阅 Blob Storage API 快速开始。
使用 JavaScript?Blob SDK(@squarecloud/blob)会为你处理简单上传和分片上传、链接、分享、规则以及 S3 网关,支持 Node.js 和浏览器。

常见问题

Blob Storage 适用于任何计划(Hobby 及以上),每种计划都有各自的内置存储配额(见上表)。完整对比请参见计划与价格。
新的上传会被拒绝并返回 STORAGE_QUOTA_EXCEEDED,直到你删除对象或升级计划。已存储的所有内容仍会正常分发。超出配额保留的存储(例如降级之后)按每个已开始使用的 GiB 收费 R$ 0.20 计费,你可以随时在账户统计中查看预估费用。
临时链接的有效期最长 24 小时,且无法撤销:适合立即把文件交给某个用户。分享链接的有效期最长 30 天,可以撤销,可以限制下载次数,在 Pro 和 Enterprise 计划上还可以要求密码。参见链接与分享。
可以。位于 https://s3-blob.squarecloud.app 的 S3 网关支持 aws-cli、boto3、rclone 以及各种 AWS SDK。从 S3 凭证获取访问密钥对:它由你的 API key 派生,因此撤销该 key 也会撤销这对密钥。
每个计划都可以按前缀设置规则(Hobby 和 Standard 5 条,Pro 10 条,Enterprise 20 条)。自定义元数据和受密码保护的分享链接需要 Pro 或 Enterprise。7 天以内的过期时间和自动删除,以及不经边缘缓存分发的文件,需要 Enterprise。在这些计划之外,请求会被拒绝并返回 403 UPGRADE_REQUIRED,其 message 会指明可解锁该功能的计划。
还能用 30 天。2026 年 9 月更新之前上传的旧版文件在 2026 年 10 月 25 日之前保留其位于 public-blob.squarecloud.dev 的 URL,id <user_id>/<path> 在每个路由上仍然有效。如需在此之后继续使用公开链接,请使用 Object Copy(move: true)移动文件:新文件从 blob.squarecloud.dev/pub/... 分发,其 id 以 pub/ 或 prv/ 开头。