Skip to content

Scope 与限流

Scope 决定应用可访问的资源范围,限流套餐决定生产环境的调用额度。


API Scope

API Scope 存储在 api_scopes,字段包括 codenamedescriptionscopeGroupstatus

编码规则:

  • 必须以小写字母开头。
  • 只能包含小写字母、数字、冒号、点、下划线和短横线。
  • 最大长度 64。
  • 被应用引用的 Scope 会返回 usedByAppCount,引用数大于 0 时不能删除。

默认种子:

Scope分组说明
openiduser确认用户身份
profileuser读取昵称、头像等基础资料
emailuser读取邮箱地址
offline_accessuser允许刷新令牌
user:readuser读取开放平台用户资源
data:readdata调用只读数据类接口
data:writedata调用写入 / 变更类接口
order:readorder读取订单数据
cms:readdata读取 CMS 栏目与已发布内容
cms:writedata创建 / 更新 CMS 内容并提交审核
cms:publishdata直接发布 CMS 内容
rules:evaluatedata调用规则中心统一求值

推荐分组:generaluserorderpaymentmemberdatasystem

Scope 管理 API

挂载前缀:/api/api-scopes

方法路径权限说明
GET/api/api-scopesopen:scope:view分页查询 Scope
GET/api/api-scopes/options登录获取启用 Scope 列表
GET/api/api-scopes/{id}open:scope:view获取 Scope 详情
POST/api/api-scopesopen:scope:manage创建 Scope
PUT/api/api-scopes/{id}open:scope:manage更新 Scope
DELETE/api/api-scopes/batchopen:scope:manage批量删除 Scope
DELETE/api/api-scopes/{id}open:scope:manage删除 Scope

限流套餐

限流套餐存储在 rate_plans

字段说明
qpsLimit每秒请求上限,0 表示不限
dailyQuota每日调用配额,0 表示不限
monthlyQuota每月调用配额,0 表示不限
isDefault应用未绑定套餐时的回退套餐
statusenabled / disabled

默认种子:

code名称QPS日配额月配额
free免费版510000200000
pro专业版5050000010000000
enterprise企业版50000

限流行为

  • 仅生产环境执行套餐限流。
  • 应用绑定套餐时使用绑定套餐;未绑定时使用默认套餐。
  • QPS 计数 key 按秒过期,超限返回 429 并附带 Retry-After: 1
  • 日配额按 YYYY-MM-DD 计数,月配额按 YYYY-MM 计数。
  • 日 / 月用量达到 80% 时触发 app.quota.warning
  • QPS / 日 / 月超限时触发 app.quota.exceeded,同一应用与周期内带冷却节流。
  • OPEN_RATE_LIMIT_FAIL_CLOSED=true 时,限流服务异常返回 503;否则放行请求。

限流套餐 API

挂载前缀:/api/rate-plans

方法路径权限说明
GET/api/rate-plansopen:rate-plan:view分页查询套餐
GET/api/rate-plans/options登录获取启用套餐列表
GET/api/rate-plans/{id}open:rate-plan:view获取套餐详情
POST/api/rate-plansopen:rate-plan:manage创建套餐
PUT/api/rate-plans/{id}open:rate-plan:manage更新套餐
DELETE/api/rate-plans/{id}open:rate-plan:manage删除套餐

Built with VitePress for local documentation preview.