如何使用Cloudflare R2分布式对象存储
Cloudflare R2是一种分布式对象存储服务,它提供了一种简单、安全且可扩展的方式来存储和检索数据。要使用R2,您需要先创建一个账户并安装R2客户端。然后,您可以使用命令行工具或API来管理您的存储桶和对象。例如,您可以创建一个新的存储桶,将文件上传到该存储桶中,或者从存储桶中下载文件。此外,R2还提供了一些高级功能,如版本控制、生命周期管理和跨区域复制等。总之,Cloudflare R2是一种强大而灵活的对象存储解决方案,适用于各种应用场景。
Cloudflare R2
R2是Cloudflare提供兼容分布式对象存储服务,可以让您快速自由创建云储存服务。
R2提供全球分布式对象存储,与 Cloudflare Workers 集成以提供动态功能,利用我们兼容 S3 的 API 来避免供应商锁定。
您不应为访问自己的数据而付费。访问 R2 中存储的数据无需支付任何出口费用。我们提供统一的低廉定价,不再需要担心意外开支。
通过 Cloudflare Workers 部署边缘函数,使用 In-Worker API 执行身份验证、路由请求、增强决策等各种功能。兼容 S3 的 API 让您能够访问广泛的 S3 工具、库和扩展。
不再受供应商锁定约束,不再需要支付高昂的出口费用,随时将数据迁移到首选位置。自由移动数据,构建自己期望的多云架构。兼容 S3 的 API 使您的数据具备可移植性。
R2价格
永远免费月度费用存储10 GB/月0.015 美元/GB 存储A 类操作:改变状态100 万次/月4.50 美元/百万次B 类操作:读取现有状态1000 万次/月0.36 美元/月
使用方法
这里我们利用的是R2的S3兼容性api,如果懂s3的随便看看就明白。我们利用的是Alist列表程序的s3存储模块实现,你也可以利用其他支持s3接口的程序实现。
至于怎么搭建ALIST列表程序,请看GitHub:https://github.com/alist-org/alist;自行搭建。
1.创建存储桶
登陆cloudflare,点击R2,如果还没绑定支付方式的,绑定信用卡或者PayPal开通一下。开通完点击创建存储桶即可。
2.ALIST创建S3存储
打开ALIST后台,点账号-添加,类型选S3。
虚拟路径:随便你设置什么路径。
Bucket:存储桶名称,就是你创建存储桶填的名字。
Endpoint:存储桶链接,https://<帐户 ID>.r2.cloudflarestorage.com
账户ID在Cloudflare R2的界面右边就有,例如:https://024b6e786111ca9d8fdf7ef37ee88888.r2.cloudflarestorage.com
Region:填auto即可。
Access Key:R2 API令牌,在Cloudflare R2界面右侧点击管理 R2 API 令牌创建。建议只创建读取那个,创建完后访问密钥 ID就是Access Key,密钥只显示一次,如果忘记了可以重置或者删除重建。
Access Secret:R2 API令牌,跟上面一样,机密访问密钥就是Access Secret。
其余参数不再介绍,如果你没其他需求,可以不用管,直接点击保存即可完成。
3.上传文件到Cloudflare R2
我们可以有三种方式:
1.Cloudflare R2的控制面板可以直接上传文件,但是只能上传300MB以内大小的文件。
2.使用ALIST上传,我们在创建R2 API令牌的时候,选择编辑权限的API令牌即可上传。
3.使用rclone上传,这里我们主要介绍这种方式。
第二和第三种方式上传都不限制大小,但是以我的看法来讲还是第三种上传稳定一点。
这里仅介绍Linux使用rclone上传,首选我们要安装beta版本的rclone才能正常使用R2。
一键安装beta版本:
sudo-v;curlhttps://rclone.org/install.sh|sudobash-sbeta
安装完成创建配置文件,文件路径:~/.config/rclone/rclone.conf:
[r2demo]type=s3provider=Cloudflareaccess_key_id=abc123#Youraccess_key_idsecret_access_key=xyz456#Youraccess_key_secretendpoint=https://<accountid>.r2.cloudflarestorage.comacl=private
r2demo:这个可以改成你喜欢的名字。
access_key_id:创建R2 API令牌,要使用编辑权限的的access_key。
secret_access_key:创建R2 API令牌,要使用编辑权限的的secret_access。
endpoint:跟ALIST列表程序填的一样。
列出文件列表:
rclonetreer2demo:
列出存储桶文件:
rclone tree r2demo:存储桶名称
例如:rclone tree r2demo:hostloc
上传文件:
rclonecopydog.txtr2demo:存储桶名称/dog.txt#这个例子是上传dog.txt到存储桶
rclone其他命令可以到官网:https://rclone.org/docs/,自行查看。
至此我们的Cloudflare R2就到此结束了。
相关专题