Cloudflare R2(S3 兼容)存储工具,支持配置 API 密钥、上传文件并获取公开访问地址,适用于需要上传文件到 R2 并获取公开链接的场景。
Cloudflare R2 提供 10GB 免费存储额度,兼容 S3 API,可以用来存储文件并生成公开访问地址。
在使用前需要配置以下环境变量或配置文件:
bash
# ~/.openclaw/config/cloudflare-r2.env
CLOUDFLARE_R2_ACCOUNT_ID=your-account-id
CLOUDFLARE_R2_ACCESS_KEY_ID=your-access-key
CLOUDFLARE_R2_SECRET_ACCESS_KEY=your-secret-key
CLOUDFLARE_R2_BUCKET_NAME=your-bucket-name
CLOUDFLARE_R2_PUBLIC_DOMAIN=your-public-domain # 可选,自定义公开域名
或者在调用时传入参数。
python
from scripts.r2_uploader import R2Uploader
uploader = R2Uploader()
result = uploader.upload_file(local_path, object_name=None, public=True)
print(result['public_url']) # 获取公开访问地址
bash
# 上传文件
python skills/cloudflare-r2-s3/scripts/r2_uploader.py upload /path/to/file.jpg [object-name]
# 列出文件
python skills/cloudflare-r2-s3/scripts/r2_uploader.py list
# 删除文件
python skills/cloudflare-r2-s3/scripts/r2_uploader.py delete object-name
Object Read + Write 权限pub-${bucket-name}.r2.dev 域名需要安装 boto3:
bash
pip install boto3
scripts/r2_uploader.py - 主上传工具,支持命令行和 API 调用references/config_example.env - 配置文件示例