函数API提供用于调用和管理无服务器函数的端点。在云环境中,函数在Deno Subhosting上边界运行。在自托管(Docker)环境中,函数在本地Deno运行时中运行。
对于经过身份验证的函数调用:
对于管理员端点:
调用函数
使用任何HTTP方法(GET、POST、PUT、PATCH、DELETE等)执行已部署的函数。服务器保留并将调用者的原始方法转发给函数运行时。
注意:函数调用使用/functions/{slug}(没有/api前缀),不是/api/functions/{slug}。
路径参数
| 参数 | 类型 | 说明 |
|---|
slug | string | 函数slug标识符 |
请求正文
函数期望的任何JSON有效负载。
响应取决于函数返回的内容:
管理员端点
这些端点需要管理员身份验证。
列出所有函数
获取函数详情
创建函数
目前,InsForge仅支持在Deno环境中运行的JavaScript/TypeScript函数。
请求正文
| 字段 | 类型 | 必需 | 说明 |
|---|
name | string | 是 | 函数的显示名称 |
code | string | 是 | JavaScript/TypeScript代码 |
slug | string | 否 | URL友好的标识符(如果未提供,则自动生成) |
description | string | 否 | 函数的说明 |
status | string | 否 | draft或active(默认值:active) |
更新函数
请求正文
| 字段 | 类型 | 必需 | 说明 |
|---|
name | string | 否 | 更新的显示名称 |
code | string | 否 | 更新的函数代码 |
description | string | 否 | 更新的说明 |
status | string | 否 | draft、active或error |
删除函数
函数代码结构
函数必须导出一个接收Request对象并返回Response的默认异步函数:
访问请求数据
函数状态
| 状态 | 说明 |
|---|
draft | 函数已保存但未部署 |
active | 函数已部署并可以调用 |
error | 函数有部署错误 |
错误响应
找不到函数(404)
函数不活跃(404)
执行错误(502)
当函数运行时无法到达时(自托管:本地Deno运行时宕机;云端:子托管代理失败):
函数运行时错误(500)
当函数代码抛出错误时:
Slug已存在(409)
检测到危险代码(400)