现在支持S3协议

Supabase Storage 现已正式成为 S3 兼容存储提供商。 这是最受欢迎的功能之一,现已在公共 alpha 版本中提供。 可断点续传上传也从测试版过渡到普遍可用。

Supabase存储引擎 完全开源,是为数不多的提供 3 种可互操作协议来管理文件的存储解决方案之一:

我们始终努力在 Supabase 采用行业标准。 支持标准使工作负载可移植,这是一个关键的产品原则。 S3 API 无疑是一种存储标准,我们正在让各种经验水平的开发人员都可以使用它。

S3 协议向后兼容我们的其他 API。 如果您已经通过我们的 REST 或 TUS API 使用存储,那么现在您可以使用任何 S3 客户端与您的存储桶和文件进行交互:使用 TUS 上传、使用 REST 提供服务以及使用 S3 协议管理它们。

该协议适用于云端、本地开发和自托管。 在我们的文档中查看 API 兼容性

使用 Supabase S3 进行身份验证

要使用 Supabase S3 进行身份验证,您有 2 个选项:

  1. 标准 access_keysecret_key 证书。 您可以从存储设置页面生成这些。 这种身份验证方法与支持S3协议的工具广泛兼容。 这也是为了使用 仅服务器端 因为它提供了对您的存储资源的完全访问。

    我们将在不久的将来添加可以访问特定存储桶的范围访问密钥凭据。

  2. 使用 RLS 的用户范围凭据。 这利用了所有 Supabase 服务中广泛采用的概念:行级安全性。 它允许您通过将存储操作范围限定到特定的经过身份验证的用户或角色来与 S3 协议进行交互,同时尊重您现有的 RLS 策略。 此方法是通过使用 S3 协议支持的会话令牌标头来实现的。 您可以在文档中找到有关如何使用会话令牌机制的更多信息。

S3 兼容集成

在 S3 协议的支持下,您现在可以通过提供一对可以随时撤销的凭据将 Supabase Storage 连接到许多第三方工具和服务。

您可以使用流行的工具进行备份和迁移,例如:

  • AWS CLI:官方AWS CLI
  • 克隆:用于管理云存储上的文件的命令行程序。
  • 赛博鸭:适用于 Mac 和 Windows 的云存储浏览器。
  • 以及任何其他 s3 兼容工具…

Supabase Cyber​​duck

请在此处查看我们的 Cyber​​duck 指南。

数据工程师的 S3

S3 兼容性为数据工程师提供了一个很好的原语。 您可以将它与许多流行的工具一起使用:

  • ClickHouse 等数据仓库
  • 查询引擎,如 DuckDB、Spark、Trino 和 Snowflake 外部表
  • 数据加载器,例如 Fivetran 和 Airbyte

在此示例中,我们出色的数据分析师 Tyler 演示了如何将 Parquet 文件存储在 Supabase Storage 中并使用 DuckDB 直接查询它们:

S3 中的分段上传

除了标准上传和断点续传之外,我们现在还支持通过 S3 协议进行分段上传。 这使您可以通过并行上传块来最大化上传吞吐量,然后将块连接到最后。

随着平台正式发布,我们还很高兴地宣布可断点上传也已普遍可用。

可断点续传的上传由 TUS协议。 与启迪团队的密切合作,到达这里的旅程非常有意义。 向 TUS 协议的维护者大声喊叫, @murderlon@帐户,表彰他们的开源协作方法。

Supabase 贡献 一些高级功能 来自 TUS Spec 的 Node 实现,包括 分布式锁, 最大文件大小, 到期延长 以及许多错误修复:

Supabase 的贡献

这些功能对于 Supabase 来说至关重要,并且自 TUS节点服务器 是开源的,它们也可供您使用。 这是另一个核心原则:只要有可能,我们就使用和支持现有工具,而不是从头开始开发。

  • 跨桶转账: 我们添加了跨存储桶复制和移动对象的功能,而以前您只能在同一个 Supabase 存储桶中执行这些操作。
  • 标准化错误代码: 错误代码现已在存储服务器中标准化,现在可以更轻松地针对特定错误进行逻辑分支。 您可以在此处找到错误代码列表。
  • 多租户迁移: 我们对所有租户的运行迁移进行了重大改进。 这减少了整个队列的迁移错误,并使我们能够以异步方式运行长时间运行的迁移。 请继续关注包含更多详细信息的单独博客文章。
  • 解耦依赖: 存储与其他 Supabase 产品完全解耦,这意味着您可以将存储作为独立服务运行。 开始使用这个 docker-compose 文件

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​