函数服务参考

自托管函数

基于Deno运行时的Web服务器,能够运行JavaScript、TypeScript和WASM服务。

您可以用它来:

  • 本地测试和自托管Supabase的边缘函数(或任何Deno边缘函数)
  • 作为可编程HTTP代理:可以拦截/路由HTTP请求

如何在本地运行

1
./run.sh start --main-service /path/to/supabase/functions -p 9000

使用Docker运行:

1
2
docker build -t edge-runtime .docker run -it --rm -p 9000:9000 -v /path/to/supabase/functions:/usr/services supabase/edge-runtime start --main-service /usr/services

如何更新到新版Deno

在 Fly.io 上自托管边缘函数

我们准备了一个演示,展示如何在 Fly.io 上自托管边缘函数(您也可以使用其他提供商如 Digital Ocean 或 AWS)。

要自行尝试:

  1. 注册 Fly.io 账号并安装 flyctl
  2. 将演示仓库克隆到您的机器 - https://github.com/supabase/self-hosted-edge-functions-demo
  3. 将您的边缘函数复制到演示仓库的 ./functions 目录中
  4. 更新 Dockerfile 以拉取最新的 edge-runtime 镜像(查看 releases
  5. [可选] 编辑 ./functions/main/index.ts,添加其他请求预处理逻辑(例如,您可以启用 JWT 验证、处理 CORS 请求)
  6. 运行 fly launch 创建一个新应用来托管您的边缘函数
  7. 通过访问以下地址使用您的边缘函数: https://{your-app-name}.fly.dev/{your-function-name}

您可以通过访问 Fly.io 仪表板 > 您的应用 > 指标 来查看边缘运行时的日志。此外,您可以通过运行 fly regions add [REGION] 从多个区域提供 edge-runtime 服务。

客户端库

其他链接