@ computesdk/r2 (帮助)
Cloudflare R2存储提供者用于计算SDK - S3兼容对象存储.
安装
npm install @computesdk/r2
使用量
import { r2 } from '@computesdk/r2';
// Create storage instance
const storage = r2({
accessKeyId: process.env.R2_ACCESS_KEY_ID,
secretAccessKey: process.env.R2_SECRET_ACCESS_KEY,
accountId: process.env.R2_ACCOUNT_ID
// Or use endpoint directly:
// endpoint: 'https://your-account-id.r2.cloudflarestorage.com'
});
// Upload a file
await storage.upload('my-bucket', 'path/to/file.txt', 'Hello, World!');
// Download a file
const result = await storage.download('my-bucket', 'path/to/file.txt');
console.log(result.data.toString());
// Delete a file
await storage.delete('my-bucket', 'path/to/file.txt');
// List objects
const list = await storage.list('my-bucket', { prefix: 'path/to/' });
for (const obj of list.objects) {
console.log(`${obj.key}: ${obj.size} bytes`);
}
配置
| 选项 | 类型 | 需求 | 默认 | 说明 |
|---|---|---|---|---|
accessKeyId | 字符串 | 无* | R2_ACCESS_KEY_ID 环境 | R2 访问密钥 |
secretAccessKey | 字符串 | 无* | R2_SECRET_ACCESS_KEY 环境 | R2 密钥 |
accountId | 字符串 | 号 | R2_ACCOUNT_ID 环境 | 云浮账户 ID |
endpoint | 字符串 | 号 | - 说吧 | 完整的 R2 端点 URL |
* Ether在配置或设置环境变量中提供.
* 以太提供 accountId (端点将自动构建)或提供全套 endpoint。 。 。 .
环境变量
export R2_ACCESS_KEY_ID=your-access-key
export R2_SECRET_ACCESS_KEY=your-secret-key
export R2_ACCOUNT_ID=your-account-id
API 密码
见 @ computesdk/s3 (帮助) 完整 API 细节的文档.
获取 R2 证书
- 转到 云花板
- 导航到 R2 > 管理 R2 API 键
- 用对象读写权限创建新的 API 令牌
- 注意访问密钥 ID、 秘密访问密钥和账户 ID
许可证
麻省理工学院