[ PROMPT_NODE_23948 ]
Analytics Engine 配置说明
[ SKILL_DOCUMENTATION ]
# Analytics Engine 配置
## 设置
1. 在 `wrangler.jsonc` 中添加绑定
2. 部署 Worker
3. 数据集在首次写入时自动创建
4. 通过 SQL API 查询
## wrangler.jsonc
c
{
"name": "my-worker",
"analytics_engine_datasets": [
{ "binding": "ANALYTICS", "dataset": "my_events" }
]
}
针对不同需求使用多个数据集:
c
{
"analytics_engine_datasets": [
{ "binding": "API_ANALYTICS", "dataset": "api_requests" },
{ "binding": "USER_EVENTS", "dataset": "user_activity" }
]
}
## TypeScript
typescript
interface Env {
ANALYTICS: AnalyticsEngineDataset;
}
export default {
async fetch(request: Request, env: Env) {
// 无需 await - 返回 void,即发即弃
env.ANALYTICS.writeDataPoint({
blobs: [pathname, method, status], // 字符串维度(最多 20 个)
doubles: [latency, 1], // 数值指标(最多 20 个)
indexes: [apiKey] // 高基数过滤器(最多 1 个)
});
return response;
}
};
## 数据点限制
| 字段 | 限制 | SQL 访问 |
|-------|-------|------------|
| blobs | 20 个字符串,每个 16KB | `blob1`...`blob20` |
| doubles | 20 个数字 | `double1`...`double20` |
| indexes | 1 个字符串,16KB | `index1` |
## 写入行为
| 场景 | 行为 |
|----------|----------|
| 1M 写入/分钟 | 自动采样 |
| 无效数据 | 静默失败(检查 tail 日志) |
**缓解采样:** 预聚合、使用多个数据集、仅写入关键指标。
## 查询限制
| 资源 | 限制 |
|----------|-------|
| 查询超时 | 30 秒 |
| 数据保留 | 90 天(默认) |
| 结果大小 | ~10MB |
## 成本
**免费层:** 1000 万次写入/月,100 万次读取/月
**付费层:** 每 100 万次写入 $0.05,每 100 万次读取 $1.00
## 环境特定配置
c
{
"analytics_engine_datasets": [
{ "binding": "ANALYTICS", "dataset": "prod_events" }
],
"env": {
"staging": {
"analytics_engine_datasets": [
{ "binding": "ANALYTICS", "dataset": "staging_events" }
]
}
}
}
## 监控
bash
npx wrangler tail # 检查采样/写入错误
sql
-- 检查写入活动
SELECT DATE_TRUNC('hour', timestamp) AS hour, COUNT(*) AS writes
FROM my_dataset
WHERE timestamp >= NOW() - INTERVAL '24' HOUR
GROUP BY hour