import { Think, defineScheduledTasks } from "@cloudflare/think";export class DigestAgent extends Think { getScheduledTasks() { return defineScheduledTasks({ weeklyCommitReport: { schedule: "every week on monday at 09:00", prompt: "Compile my GitHub commits for the last week and summarize them.", }, workout: { schedule: "every day at 08:00 in Europe/London", prompt: "Start my workout.", }, }); }}
import { Think, defineScheduledTasks } from "@cloudflare/think";export class DigestAgent extends Think<Env> { getScheduledTasks() { return defineScheduledTasks({ weeklyCommitReport: { schedule: "every week on monday at 09:00", prompt: "Compile my GitHub commits for the last week and summarize them.", }, workout: { schedule: "every day at 08:00 in Europe/London", prompt: "Start my workout.", }, }); }}
如果您已经通过现有的 REST API 调用 Workers AI 模型,该路径(/ai/run/@cf/{model})将继续有效。若要通过 AI Gateway 调用 Workers AI 模型,请使用 @cf/ 模型前缀(例如,@cf/moonshotai/kimi-k2.6)并包含 cf-aig-gateway-id 标头来指定要路由到的网关。
子查询 — IN / NOT IN、EXISTS / NOT EXISTS、SELECT / WHERE / HAVING 中的标量子查询,以及派生表(FROM 中的子查询)
多表 CTE — WITH 子句可以引用不同的表并包含 JOIN
自连接 — 使用不同的别名将表与自身连接
多路连接 — 在单个查询中连接三个或更多表
示例
带有聚合的双表 JOIN
SELECT z.domain, z.plan, COUNT(*) AS request_countFROM my_namespace.zones zINNER JOIN my_namespace.http_requests h ON z.zone_id = h.zone_idWHERE z.plan = 'enterprise'GROUP BY z.domain, z.planORDER BY request_count DESCLIMIT 20
EXISTS 子查询
SELECT z.domain, z.planFROM my_namespace.zones zWHERE EXISTS ( SELECT 1 FROM my_namespace.firewall_events f WHERE f.zone_id = z.zone_id AND f.action = 'block')ORDER BY z.domainLIMIT 20
带有 JOIN 的多表 CTE
WITH top_zones AS ( SELECT zone_id, COUNT(*) AS req_count FROM my_namespace.http_requests GROUP BY zone_id ORDER BY req_count DESC LIMIT 50),zone_threats AS ( SELECT zone_id, COUNT(*) AS threat_count FROM my_namespace.firewall_events WHERE risk_score > 0.5 GROUP BY zone_id)SELECT tz.zone_id, tz.req_count, COALESCE(zt.threat_count, 0) AS threat_countFROM top_zones tzLEFT JOIN zone_threats zt ON tz.zone_id = zt.zone_idORDER BY tz.req_count DESCLIMIT 20