Supabase 边缘函数
Supabase 是 Firebase 的开源替代品,提供了一套类似于 Firebase 功能的工具套件,包括数据库、身份验证、存储,以及现在的无服务器函数。
Supabase 边缘函数是服务器端 TypeScript 函数,它们在全球范围内分布,运行在离用户更近的地方以提高性能。这些函数使用 Deno 开发,带来了多种好处,包括提高安全性和现代化的 JavaScript/TypeScript 运行时。
以下是开始使用 Supabase 边缘函数的方法:
1. 设置
前提条件
开始之前,请确保已安装 Supabase CLI。如果尚未安装,请按照 官方文档 中的说明进行操作。
创建新项目
打开终端或命令提示符。
通过在本地机器上的目录中运行以下命令创建一个新的 Supabase 项目:
bash
supabase init此命令在当前目录中初始化一个新的 Supabase 项目。
添加边缘函数
- 在 Supabase 项目中,创建一个名为
hello-world的新边缘函数:
bash
supabase functions new hello-world此命令在项目中创建一个指定名称的新边缘函数。
2. 你好世界
通过修改文件 supabase/functions/hello-world/index.ts 来编辑 hello-world 函数:
ts
import { Hono } from 'jsr:@hono/hono'
// 将此更改为你的函数名
const functionName = 'hello-world'
const app = new Hono().basePath(`/${functionName}`)
app.get('/hello', (c) => c.text('Hello from hono-server!'))
Deno.serve(app.fetch)3. 运行
要在本地运行函数,请使用以下命令:
- 使用以下命令来服务函数:
bash
supabase start # 启动 supabase 栈
supabase functions serve --no-verify-jwt # 启动 Functions 监视器--no-verify-jwt 标志允许你在本地开发期间绕过 JWT 验证。
- 使用 cURL 或 Postman 向
http://127.0.0.1:54321/functions/v1/hello-world/hello发送 GET 请求:
bash
curl --location 'http://127.0.0.1:54321/functions/v1/hello-world/hello'此请求应返回文本 "Hello from hono-server!"。
4. 部署
你可以使用一条命令部署 Supabase 中的所有边缘函数:
bash
supabase functions deploy或者,你可以通过在部署命令中指定函数名称来部署单个边缘函数:
bash
supabase functions deploy hello-world有关更多部署方法,请访问 Supabase 文档关于 部署到生产环境 的部分。