Cloudflare R2 存储
如何使用 Cloudflare R2 存储
尽管 Supabase 已经提供了对象存储服务,但是容量却小的可怜,免费版只有 1GB,但是 Cloudflare R2 即使是免费版本,也提供了每个月 10GB 的存储空间。 所以强烈推荐使用 Cloudflare R2 来做存储服务。
在 EasyAppSupabase 模板中,我们已经提供了一个 Cloudflare R2 的上传函数,你只需要配置好环境变量即可。
您可以在 EasyAppSupabase/supabase/functions/oss-cf-r2 目录下找到上传函数的代码。
获取 R2 凭证
- 登录 Cloudflare Dashboard
- 进入 R2 -> Overview
- 点击 Manage


- 创建新的 API Token, 输入名称,选择 Object Read & Write,点击 Create

- 复制
Access Key ID和Secret Access Key

令牌值就是CLOUDFLARE_API_TOKEN访问密钥ID就是R2_ACCESS_KEY_ID机密访问密钥就是R2_SECRET_ACCESS_KEY
- 找到你的 Account ID(在 R2 页面右侧显示)

账户 ID就是CLOUDFLARE_ACCOUNT_ID
创建 R2 Bucket
- 进入 R2 -> Overview
- 点击 Create bucket
- 输入 bucket 名称(例如:
easyapp-bucket) - 其他配置都用默认就行
- 点击 Create bucket
Bucket Name就是R2_BUCKET_NAME
配置公开访问(可选)
- 进入你的 bucket 设置
- 点击 Settings -> Public Development URL -> 启用
- 强烈建议绑定自定义域名

自定义域名就是R2_PUBLIC_URL
官方已经明确 建议绑定自定义域名,默认的域名有速率限制,不建议用于生产。
配置环境变量(如果你用到了开发环境)
根据上述步骤,在 supabase/.env.local 中添加以下配置:
CLOUDFLARE_ACCOUNT_ID=your_account_id
CLOUDFLARE_API_TOKEN=your_api_token
R2_ACCESS_KEY_ID=your_access_key_id
R2_SECRET_ACCESS_KEY=your_secret_access_key
R2_BUCKET_NAME=easyapp-bucket
R2_PUBLIC_URL=https://your-bucket.your-domain.com生产环境
来到 EasyAppSupabase模板,在根目录执行 npm run deploy 命令,该命令会自动将函数、数据库部署到 Supabase。
接着,我们要在 Edge Functions 中配置刚才您获取的环境变量。
CLOUDFLARE_ACCOUNT_ID=your_account_id
CLOUDFLARE_API_TOKEN=your_api_token
R2_ACCESS_KEY_ID=your_access_key_id
R2_SECRET_ACCESS_KEY=your_secret_access_key
R2_BUCKET_NAME=easyapp-bucket
R2_PUBLIC_URL=https://your-bucket.your-domain.com
再次提醒
-
令牌值就是CLOUDFLARE_API_TOKEN -
访问密钥ID就是R2_ACCESS_KEY_ID -
机密访问密钥就是R2_SECRET_ACCESS_KEY -
账户 ID就是CLOUDFLARE_ACCOUNT_ID -
Bucket Name就是R2_BUCKET_NAME -
自定义域名就是R2_PUBLIC_URL官方已经明确 建议绑定自定义域名,默认的域名有速率限制,不建议用于生产。
到这里,您就完成了 Cloudflare R2 的配置,接下来您就可以在 EasyAppSwiftUI 模板中体验上传功能了。
该功能在EasyAppSwiftUI/App/Developer/SubPages/OSSCfR2Bucket/View/OSSCfR2BucketView.swift中实现。
Last updated on