用途:为 Canva Connect API 调用实现端点级和用户/租户级限流,处理 HTTP 429、控制并发规模,并避免在超时等不确定失败下重复提交。
主要能力:按端点与用户分类限流,不共用单一全局桶;区分安全读取、异步状态轮询、变更提交、令牌交换和公钥读取;在重试前持久化操作标识与返回的 job ID,对不确定的传输失败先对账已有状态;收到限流时暂停受影响队列,遵循响应中的说明,否则在截止时间内使用带抖动的有界指数退避;通过准入、并发、队列时长、重试次数和熔断阈值控制流量;对持续 429、端点元数据变化、队列饥饿或新操作形态告警,要求人工复核而非自动提吞吐;记录契约版本、限流状态、观测响应、对账结果与是否无重复恢复。
使用方式:先用 Read 和 Grep 定位确切操作及其当前端点速率标注,并将契约版本与限流配置一同保存;对请求分类;变更操作先记录身份;限流时暂停队列并退避;用 Write 或 Edit 落实并发与熔断限制;最后验证恢复。认证使用后端通过 OAuth 2.0 Authorization Code 加 SHA-256 PKCE 获取的 Bearer 令牌,申请最小权限范围,令牌与客户端密钥不得暴露在浏览器可见状态,刷新需串行化并原子存储一次性刷新令牌。
适用场景:导出提交与导出状态轮询需分别控制;超时后应查询已有 job 而非再次提交。
限制:Canva 限额因端点而异,以当前端点/OpenAPI 元数据为准,不要臆造每日导出配额或假定通用的余量/重置头;元数据缺失时采用保守本地策略并实测,不得编造提供方限额;429 无重试说明时使用有界本地退避并降低并发;队列混用用户或租户时须先分区。本技能仅用于发现与证据读取,以及经批准的产物、代码、配置、测试或回执写入,不得做未经批准的 Canva 侧变更。