光环标志
光环基地文档
文档›Edge Functions›HTTP API reference

Edge Functions HTTP API 参考

功能服务的完整 HTTP 表面,以及每个路由所需的角色。

10分钟 读取·级别 参考·修改于 2026年10月12日
该英文文本是根据法文原文自动生成的,尚未经过审查。
该页面已自动翻译。英文版具有权威性。
#
惯例

1. 惯例

基本 URL。 您项目的 URL,例如 https://my-app.aurabase.cloud。该项目由主机标​​识,因此下面的路径不包含项目 ID。长形式 /v1/functions/{project_id}/… 也被接受。

身份验证。 在 apikey 标头中发送您的密钥。添加 Authorization: Bearer <JWT> 以作为登录用户进行调用。 Studio 使用控制台会话令牌调用相同的路由,这赋予它 admin 角色。

角色你如何得到它可以打电话
anon项目的公钥POST …/invoke
authenticated公钥加上用户的 JWTPOST …/invoke
service_roleservice_role 密钥(仅限服务器)以下每条路线
admin控制台会话(Studio)以下每条路线

任何其他路线都会回答 403 到 anon 和 authenticated:

403json
{ "error": { "code": "FORBIDDEN", "type": "forbidden", "request_id": "…",
  "message": "Accès interdit : Opération réservée au rôle service_role : seule l'invocation d'une fonction est ouverte aux clés publiques" } }

格式。 主体是 JSON,需要 Content-Type: application/json。成功是 { "data": …, "meta": null }。失败是 { "error": { "code", "message", "type", "request_id" } }。

函数对象。

领域类型
id、 project_id、 name字符串
runtime"deno" 或 "wasm"
code字符串deno的来源; wasm 的已编译二进制文件的 base64
code_hash字符串code 的 SHA-256
env_vars对象价值的关键
permissions对象allow_net (字符串数组)、 memory_mb、 timeout_secs
is_active布尔值
created_at, updated_atISO 8601
#
管理

2. 功能

方法及路径角色身体回应
GET /v1/functions服务角色无函数对象数组
POST /v1/functions服务角色{ name, runtime, code, env_vars? }函数对象
GET /v1/functions/{name}服务角色无函数对象。 {name} 是名称,或者当没有函数具有该名称时为 id。
PATCH /v1/functions/{name}服务角色{ code?, env_vars?, is_active?, permissions? }函数对象
DELETE /v1/functions/{name}服务角色无{ "data": null }
GET /v1/functions/{name}/code服务角色无{ "data": { "code": "…" } }
GET /v1/functions/{name}/env服务角色无{ "data": [ { "key", "value" } ] },解密值
PUT /v1/functions/{name}/env服务角色{ "vars": [ { "key", "value" } ] }{ "data": null }

注意事项:

  • POST 是对 name的更新插入:发布现有名称替换其代码。该主体中的 env_vars 字段替换现有变量;省略它以保留它们。
  • 在 PATCH中, permissions 逐个字段合并: { "permissions": { "timeout_secs": 60 } } 保留 allow_net 和 memory_mb。超出其范围的字段将返回 400。
  • PUT …/env 替换整个变量集,并且是加密它们的唯一途径。请参阅 秘密。
  • invoke 或作业找不到带有 is_active: false 的函数。
deploy.shbash
curl -X POST "$AURA_URL/v1/functions" \
  -H "apikey: $AURA_SERVICE_ROLE_KEY" -H "Content-Type: application/json" \
  -d '{"name":"hello","runtime":"deno","code":"Deno.serve(() => new Response(\"ok\"))"}'
#
致电

3. 调用

POST /v1/functions/{name}/invoke。角色: anon、 authenticated 或 service_role。

领域类型默认
method字符串POST函数看到的 HTTP 方法
path字符串/函数看到的路径
headers对象无赋予函数的标头。保留的标头被丢弃。
body任何 JSON无赋予函数的主体
请求头
apikey必填
Content-Type: application/json必填
Authorization: Bearer <JWT>可选:以该用户身份调用
X-Aurabase-Invoke-Mode: raw可选:返回函数自己的响应

默认响应,始终为 200:

200json
{ "data": { "status": 200, "headers": { "content-type": "application/json" },
  "body": { "greeting": "Hello, Ada!" }, "logs": [], "duration_ms": 74 }, "meta": null }

status 是您的函数的状态。 logs 对于 deno为空。在原始模式下,响应是您的函数自己的:状态、 content-type、字节以及 x-aurabase-invoke-origin: function。

失败状态error.code
功能未找到或未激活404NOT_FOUND
运行时无法访问503SERVICE_UNAVAILABLE
平台停止等待运行时(在timeout_secs加上边距之后)504TIMEOUT
计划配额已用完403QUOTA_EXCEEDED
一位客户的来电过多429rate_limit_exceeded
正文约 256 KiB 以上503SERVICE_UNAVAILABLE
#
背景

4. 作业和死信队列

方法及路径角色正文或查询回应
POST /v1/functions/jobs服务角色{ function_name, payload?, delay_secs?, max_attempts? }工作
GET /v1/functions/jobs服务角色?status=&limit=(1 到 500,默认 50)一系列工作
GET /v1/functions/jobs/{id}服务角色无工作
POST /v1/functions/jobs/{id}/retry服务角色无工作,回到 pending
GET /v1/functions/jobs/dlq服务角色?limit=一系列死掉的工作
POST /v1/functions/jobs/dlq/requeue服务角色无{ "data": { "requeued": 1 } }

作业对象: id、 project_id、 function_name、 payload、 status (pending、 running、 completed、 failed、 dead)、 attempts、 max_attempts、 error、 scheduled_at、 started_at、 completed_at、 created_at。行为: 作业、cron 和死信队列。

#
时间表

5. 计划任务

方法及路径角色身体回应
POST /v1/functions/cron服务角色{ name, schedule, function_name, payload? }cron 条目
GET /v1/functions/cron服务角色无条目数组
DELETE /v1/functions/cron/{name}服务角色无{ "data": null }或 404 对于未知的 名称

条目: id、 project_id、 name、 schedule (存储 6 个字段)、 function_name、 payload、 is_active、 last_run、 next_run、 created_at。

#
监视器

6. 警报

方法及路径角色正文或查询
POST /v1/functions/alerts服务角色{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alerts服务角色无
PATCH /v1/functions/alerts/{id}服务角色{ "enabled": true }
DELETE /v1/functions/alerts/{id}服务角色无
GET /v1/functions/alerts/{id}/events服务角色?limit=&offset=
GET /v1/functions/alerts/events服务角色?limit=&offset=

值和行为: 警报。

最后更新· 2026年10月12日