用途:本技能面向 Supabase Edge Functions(运行在 Deno Deploy 上的无服务器 TypeScript/JavaScript 函数),用于调用函数、部署代码以及管理函数生命周期。
前置条件:需设置环境变量 SUPABASE_URL 与 SUPABASE_KEY,并安装 Supabase CLI(supabase 命令)与 Deno。CLI 安装命令:macOS 用 brew install supabase/tap/supabase;Linux 用 curl -fsSL https://github.com/supabase/cli/releases/latest/download/supabase_linux_amd64.tar.gz | tar -xz 后 sudo mv supabase /usr/local/bin/。脚本通过 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/supabase-api.sh" 使用共享调用助手。
主要能力:以 POST/GET 调用函数(supabase_post、supabase_get 或 curl,路径 /functions/v1/函数名);传递 apikey、Authorization 等请求头并支持用户 JWT 鉴权;用 supabase functions new 创建函数,supabase login、supabase link --project-ref、supabase functions deploy 部署;用 supabase secrets set/list/unset 管理密钥;supabase start 与 supabase functions serve 本地运行;supabase functions logs 查看日志;可通过 pg_cron 与 net.http_post 配置定时任务。函数内可访问数据库(@supabase/supabase-js)、调用外部 API。
限制:Edge Functions 有 2 秒 CPU 时间限制与 150 秒墙钟超时;错误码包括 400、401、403、500、504;可能存在 100-200ms 冷启动;删除函数无直接 CLI 命令,需通过仪表盘或 SQL 处理。官方文档:https://supabase.com/docs/guides/functions。