如何在本地下载整个 Supabase Storage Bucket

发布: (2026年5月3日 GMT+8 17:23)
4 分钟阅读
原文: Dev.to

Source: Dev.to

介绍

如果你一直在使用 Supabase,你会知道它们的 Storage API 对网页应用来说非常棒。有时你只需要把文件下载到本地机器——用于手动备份、批量编辑或迁移数据。虽然可以使用 Supabase SDK 编写脚本,但还有一种更快捷的“无代码”方式:Cyberduck

注意: Cyberduck 是 Supabase 官方合作伙伴集成。它是一款安全、开源的工具,Supabase 推荐使用它通过 S3 协议管理存储。你可以在 Supabase 文档中找到官方集成页面。

前置条件

  1. 已启用 Storage 的 Supabase 项目
  2. 已安装 Cyberduck(从官方下载页面获取最新版本)。
  3. 为你的 Supabase 项目准备的 S3 访问密钥

创建 S3 访问密钥

  1. 登录 Supabase 仪表板。
  2. 前往 Storage → S3 Settings(侧边栏)。
  3. Access Keys 下,点击 Create Access Key
  4. 输入描述(例如 “Local Backup”),然后点击 Create
  5. 重要: 立即复制 Access Key IDSecret Access Key;之后将无法再次查看 secret。

为 Supabase 配置 Cyberduck

  1. 在电脑上创建一个名为 supabase.cyberduckprofile 的文件。

  2. 将以下 XML 粘贴到文件中:

    <Profile>
        <Protocol>s3</Protocol>
        <Vendor>Supabase Storage S3</Vendor>
        <Scheme>https</Scheme>
        <Description>Supabase Storage (S3)</Description>
        <DefaultHostname>YOUR_PROJECT_REF.supabase.co</DefaultHostname>
        <DefaultPort>443</DefaultPort>
        <Region>YOUR_REGION</Region>
        <Properties>
            <Property key="s3.storage.class.options">STANDARD</Property>
            <Property key="s3.bucket.virtualhost.disable">true</Property>
        </Properties>
        <Context>/storage/v1/s3</Context>
    </Profile>
  3. YOUR_PROJECT_REF 替换为你的项目 ID(在 Supabase URL 中可见),将 YOUR_REGION 替换为相应的区域(例如 ap-south-1)。

  4. 保存文件并 双击 它。Cyberduck 将打开并提示输入凭证。填写之前生成的 Access Key IDSecret Access Key

本地下载存储桶

  1. 连接成功后,你会看到 Supabase 的存储桶以文件夹形式展示。
  2. 选择 想要下载的存储桶。
  3. 右键点击该存储桶,选择 Download。指定本机的目标文件夹,Cyberduck 将完成传输。

保持本地文件夹同步(镜像)

如果希望本地副本随时保持最新,而无需每次都重新下载全部内容:

  1. 右键点击存储桶(或本地文件夹),选择 Mirror
  2. Cyberduck 会比较远程和本地内容,仅传输差异部分。

使用 Cyberduck 通过 S3 访问的其他场景

  • 批量上传: 直接将成千上万的资产(例如产品图片)拖拽到 Supabase——相比网页仪表板在大批量时更稳定。
  • 直接媒体编辑: 某些编辑器允许你从 Cyberduck 打开文件,编辑后立即保存回云端。
  • 跨云迁移: 通过打开两个 Cyberduck 窗口,将文件在 AWS S3、Cloudflare R2 与 Supabase 之间拖拽移动。
  • 基础设施测试: 在编写前端代码之前,验证 S3 策略和类似 IAM 的权限设置。
0 浏览
Back to Blog

相关文章

阅读更多 »