调用 Lambda 函数

HolaCloud Lambda 支持直接管理调用、公开调用、按所有者划分的 mux 路由,以及少量服务检查端点。

管理调用

当客户端可以发送 X-Glue-Authentication 时,使用 /api/v0/run/{lambda_id}。该端点接受任何 HTTP 方法。

1curl -X POST "https://api.hola.cloud/api/v0/run/YOUR_LAMBDA_ID" \
2  -H "X-Glue-Authentication: YOUR_TOKEN" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "key": "value"
6  }'

公开调用

对 webhook、浏览器调用和不应发送管理凭据的其他客户端,使用 /run/{lambda_id}。该端点接受任何 HTTP 方法。

1curl -X POST "https://api.hola.cloud/run/YOUR_LAMBDA_ID" \
2  -H "Content-Type: application/json" \
3  -d '{
4    "key": "value"
5  }'

lambda 通过 req 接收请求数据,包括方法、path、headers、query 值和 body。

Webhook 用法

将外部服务配置为向以下地址发送事件:

1https://api.hola.cloud/run/YOUR_LAMBDA_ID

Webhook 处理器示例:

1export default (req) => {
2  return {
3    body: {
4      received: true,
5      event: req.headers["x-github-event"],
6      payload: req.body
7    }
8  };
9};

Mux Router

Mux router 通过 /mux/{owner_id}/* 转发按所有者划分的路由。它接受任何 HTTP 方法。

1curl -X GET "https://api.hola.cloud/mux/OWNER_ID/any/path/here"

owner_id 标识 HolaCloud 所有者。剩余 path 会转发给 lambda 路由逻辑。

进行中的调用

查看当前正在运行的调用:

1curl "https://api.hola.cloud/ongoing"

当前用户

/me 端点返回已认证用户的信息:

1curl "https://api.hola.cloud/me" \
2  -H "X-Glue-Authentication: YOUR_TOKEN"

OpenAPI 规范

HolaCloud 在以下地址公开 Lambda OpenAPI 文档:

1GET https://api.hola.cloud/openapi

评论

发表评论