[ PROMPT_NODE_24230 ]
R2 Data Catalog 配置说明
[ SKILL_DOCUMENTATION ]
# 配置
如何启用 R2 数据目录并配置身份验证。
## 前置条件
- 拥有 [R2 订阅](https://developers.cloudflare.com/r2/pricing/) 的 Cloudflare 账户
- 已创建 R2 存储桶
- 拥有 Cloudflare 控制面板或 Wrangler CLI 的访问权限
## 在存储桶上启用目录
选择一种方法:
### 通过 Wrangler(推荐)
bash
npx wrangler r2 bucket catalog enable
**输出:**
✅ Data Catalog enabled for bucket 'my-bucket'
Catalog URI: https://.r2.cloudflarestorage.com/iceberg/my-bucket
Warehouse: my-bucket
### 通过控制面板
1. 导航至 **R2** → 选择您的存储桶 → **设置 (Settings)** 选项卡
2. 滚动至“R2 数据目录”部分 → 点击 **启用 (Enable)**
3. 记录显示的 **目录 URI (Catalog URI)** 和 **仓库名称 (Warehouse name)**
**结果:**
- 目录 URI: `https://.r2.cloudflarestorage.com/iceberg/`
- 仓库: `` (与存储桶名称相同)
### 通过 API(编程方式)
bash
curl -X POST
"https://api.cloudflare.com/client/v4/accounts//r2/buckets//catalog"
-H "Authorization: Bearer "
-H "Content-Type: application/json"
**响应:**
{
"result": {
"catalog_uri": "https://.r2.cloudflarestorage.com/iceberg/",
"warehouse": ""
},
"success": true
}
## 检查目录状态
bash
npx wrangler r2 bucket catalog status
**输出:**
Catalog Status: enabled
Catalog URI: https://.r2.cloudflarestorage.com/iceberg/my-bucket
Warehouse: my-bucket
## 禁用目录(如需)
bash
npx wrangler r2 bucket catalog disable
⚠️ **警告:** 禁用不会删除表或数据。文件仍保留在存储桶中。在重新启用之前,元数据将无法访问。
## API 令牌创建
R2 数据目录需要同时具备 R2 存储 + R2 数据目录权限的 API 令牌。
### 控制面板方法(推荐)
1. 前往 **R2** → **管理 R2 API 令牌 (Manage R2 API Tokens)** → **创建 API 令牌 (Create API Token)**
2. 选择权限级别:
- **管理员读写 (Admin Read & Write)** - 完全的目录 + 存储访问权限(读/写)
- **管理员只读 (Admin Read only)** - 只读访问权限(用于查询引擎)
3. 立即复制令牌值(仅显示一次)
**包含的权限组:**
- `Workers R2 Data Catalog Write` (或 Read)
- `Workers R2 Storage Bucket Item Write` (或 Read)
### API 方法(编程方式)
使用 Cloudflare API 以编程方式创建令牌。所需权限:
- `Workers R2 Data Catalog Write` (或 Read)