使用Github Action将当前仓库同步到Cloudflare R2存储桶

使用Github Action将当前仓库同步到Cloudflare R2存储桶

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

Cloudflare推出了名为R2的新存储服务,每月提供10GB存储空间、100万个A类操作和1000万个B类操作。文章介绍了如何设置和使用该服务,包括创建存储桶、通过浏览器或使用Amazon CLI上传文件,以及从GitHub仓库同步文件。文章还涵盖了如何启用桶的公共访问和使用自定义域名。作者建议负责任地使用该服务,以避免过度的流量消耗。

🔎

延伸解读

R2 免费额度与适用场景

Cloudflare R2 每月提供 10GB 存储、100 万次 A 类操作和 1000 万次 B 类操作,适合个人图床、小型静态资源托管等低频访问场景。但需注意,免费额度不包含流量,若被大量访问可能产生费用,甚至因异常流量导致账号受限。

浏览器上传的限制与 CLI 替代

通过浏览器上传文件时,单个文件不能超过 300MB,且文件夹内文件数不得超过 100 个。对于大量文件或大文件,建议使用兼容 S3 的 Amazon CLI 进行上传,可避免这些限制,并支持同步、排除特定目录等高级操作。

GitHub Action 自动同步的配置要点

利用 GitHub Action 可将仓库内容自动同步到 R2。需在仓库的 Secrets 中设置四个环境变量:CLOUDFLARE_ACCESS_KEY_ID、CLOUDFLARE_SECRET_ACCESS_KEY、R2_BUCKET_NAME 和 R2_ENDPOINT_URL。Workflow 文件中使用 aws s3 sync 命令,并可通过 --exclude 排除 .git 等目录。

公开访问与自定义域名

R2 存储桶可开启公共访问,使用内置的 r2.dev 域名或绑定自定义域名。若使用自定义域名,需在 Cloudflare 中配置 DNS 记录。注意,公开访问可能带来流量消耗,建议合理使用,避免因异常流量导致账号被封。

❓

Q&A

Cloudflare R2存储服务的基本特点是什么?

Cloudflare R2每月提供10GB存储空间、100万个A类操作和1000万个B类操作。

如何在Cloudflare R2中创建存储桶?

在Cloudflare R2中,用户需要点击创建存储桶按钮,输入存储桶名称并确保不与已有存储桶重名。

使用Amazon CLI上传文件到Cloudflare R2有哪些步骤?

用户需安装Amazon CLI,创建API Token,配置凭据,然后使用sync命令上传文件。

如何通过GitHub Action自动同步文件到Cloudflare R2?

用户需在GitHub仓库中新建Workflow文件,配置AWS CLI和相关环境变量,然后设置上传命令。

Cloudflare R2存储桶如何设置公共访问?

用户可以在存储桶的设置中找到R2.dev子域名选项,点击允许访问来开启公共访问。

使用Cloudflare R2服务时需要注意什么?

用户应合理使用Cloudflare R2服务,避免过度流量消耗,以免账号被封。

🏷️

标签

➡️

继续阅读