运行时能力

应用支持什么、不支持什么,以及各项限制。

下表是应用当前的运行时能力。

发布与部署

能力状态说明
Worker → 版本 → 部署支持创建版本不会上线;部署后才成为线上版本。创建版本时设置 deploy: true 可一步完成
回滚支持对旧版本再创建一次部署,无需重新上传文件
整站替换支持每个版本的文件清单必须完整列出站点的全部文件;只有内容变化的文件需要上传,没变的不会重传
灰度发布不支持一个部署只能让一个版本占 100%
保留版本数限制最近 100 个版本
单个脚本大小限制压缩后 10 MiB
部署超时限制10 分钟内没有完成即失败

静态资源

能力状态说明
内容寻址去重支持相同内容只存一份,重复发布不会重复上传
路径与大小限制每个版本最多 100000 个文件,单个文件最大 25 MiB
html_handling支持可选 auto-trailing-slash、force-trailing-slash、drop-trailing-slash、none
not_found_handling支持可选 none、404-page、single-page-application
_headers支持仅作用于静态资源的响应,最多 100 条规则,每行最多 2000 字符
_redirects支持仅作用于静态资源的响应,最多 2000 条静态规则和 100 条动态规则,每行最多 1000 字符

_headers 和 _redirects 不会作用于 Worker 代码生成的响应。需要跨域访问时,在代码里自己设置 CORS 头:

const CORS = {
  "access-control-allow-origin": "*",
  "access-control-allow-methods": "GET, POST, OPTIONS",
  "access-control-allow-headers": "content-type",
};

export default {
  async fetch(request) {
    if (request.method === "OPTIONS") return new Response(null, { status: 204, headers: CORS });
    return Response.json({ ok: true }, { headers: CORS });
  },
};

出站请求

能力状态说明
访问公网地址支持代码里的 fetch() 可以请求任意公网地址
访问平台上的其他应用支持请求其他应用的地址,得到的是对方应用的响应

绑定

类型状态说明
d1支持在创建版本时声明
kv_namespace支持在创建版本时声明
r2_bucket支持在创建版本时声明
secret_text支持在创建版本时声明;值通过密钥接口写入
plain_text支持在创建版本时声明
json支持在创建版本时声明
praxis_token支持启用 owner 组织的平台 API 访问,不注入 token
praxis_vault_ref不可用当前不能使用
其他类型(如 service、queue、durable_object_namespace、ai)不支持创建版本时返回 UNSUPPORTED

密钥

能力状态说明
写入密钥支持PUT /application/v1/workers/{id}/secrets/{name}。写入后会基于当前版本派生一个新版本并部署
读回密钥值不支持值只写不读,任何接口都不会返回

兼容标志

能力状态说明
compatibility_flags支持创建版本时传入,会原样生效
global_fetch_strictly_public固定开启每个版本都会带上,不能关闭;传入 global_fetch_private_origin 或 no_global_fetch_strictly_public 会返回 400

调用平台 API

在要部署的版本中声明绑定:

{ "type": "praxis_token", "name": "PRAXIS_API_TOKEN" }

应用可以不带 API Key 调用 Develop API:

export default {
  async fetch() {
    return fetch("https://api-develop.deepraxis.com/application/v1/workers");
  }
};

应用拥有与 owner 组织 API Key 相同的组织访问权限。其他组织的资源返回不存在。应用代码不会收到 token 或密钥,也不会生成 env.PRAXIS_API_TOKEN。未声明该绑定时,受保护接口返回 401,除非请求自行提供有效凭证。其他目标域名的请求保持原样。

Praxis SDK 使用同一条访问路径:省略 apiKey,将 baseUrl 设为 Develop API 地址,无需修改 SDK。已有应用需要部署声明该绑定的版本后才能启用。移除绑定会在新部署生效、路由缓存刷新后停止注入身份(最多 10 秒)。

导出

本页内容