阿里技术 08月15日
PolarDB Supabase Edge Functions - 让函数,随时可用
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

PolarDB Supabase 成功将 Supabase Edge Functions 的完整能力引入公有云托管环境,解决了开源版 Supabase 在 FaaS 管理后台方面的“能力断层”。通过提供与 Supabase Cloud 几乎一致的开发体验,但运行在资源独享、数据可控的独立实例中,PolarDB Supabase 兼顾了现代化的开发便利性与企业级的数据和架构控制力。无论是通过 CLI 进行专业部署,还是 Studio 进行可视化迭代,用户都能轻松创建、编辑和部署边缘函数,实现低延迟、高可用的 API 和事件处理。这为企业用户提供了在享受 Supabase 强大功能的同时,还能保有对核心数据和系统架构的完全掌控的解决方案。

💡 PolarDB Supabase 填补了开源版 Supabase 在 Edge Functions 管理后台的缺失,提供了在公有云托管环境中完整可用的 Edge Functions 功能,包括通过 Studio 和 CLI 的开发与部署。

🚀 Edge Functions 作为无服务器引擎,支持将自定义代码部署在全球边缘节点,实现低延迟、高可用、自动扩展的 API 和事件处理,是现代全栈应用的关键组成部分。

💻 PolarDB Supabase 提供了两种开发方式:CLI 部署(适合自动化和 GitOps)和 Studio 可视化部署(适合快速迭代和团队协作),确保了极简、高效、现代化的开发体验。

⚖️ 与开源版 Supabase 相比,PolarDB Supabase 在公有云托管环境下提供独立实例架构和自主研发的管理系统,实现了功能完整性、隔离性与企业级控制力的平衡,确保代码和元数据客户完全掌控。

🛠️ 用户可以轻松上手,通过 PolarDB Supabase Studio 登录,在 Edge Functions 页面创建、编辑函数,并支持多种代码上传方式(如 eszip、zip)或直接在代码编辑器中编写,从而快速实现如调用通义 API 总结会议纪要等实际应用。

倾扬 2025-08-15 08:30 浙江

这是2025年的第90篇文章

( 本文阅读时间:15分钟 )

01

前言

在现代全栈开发中,边缘函数(Edge Functions)已成为连接前端与后端逻辑的关键枢纽。它让开发者无需管理服务器,即可将自定义代码部署在全球边缘节点,实现低延迟、高可用、自动扩展的 API 与事件处理能力。PolarDB Supabase 支持完整的 Edge Functions 功能闭环,成为业内少数在公有云托管环境中实现这一能力的平台。

02

什么是 Supabase Edge Functions?

为现代应用而生的无服务器引擎

Supabase Edge Functions 是一套基于Deno 运行时构建的轻量级无服务器服务,是一种为全栈应用量身打造的现代化边缘计算解决方案。

2.1 核心能力一览

2.2 典型应用场景

Edge Functions 不仅是“写个 API”,更是连接前后端、第三方服务与业务系统的智能中枢:

2.3 开发体验:极简、高效、现代化

Supabase 为 Edge Functions 提供了两种主流开发方式,满足不同团队的工作流需求:

1. 通过 CLI 部署(适合专业开发者与 CI/CD)

    本地打包:使用 supabase cli 将源码编译为单个 main.js

    安全上传:通过 Bearer Token 认证推送至云端;

    适合自动化部署、GitOps 流程;

2. 通过 Studio 可视化部署(适合快速迭代与团队协作)

    在浏览器中直接编辑函数代码;

    点击“Save and Deploy”一键发布;

    支持语法高亮、错误提示、实时保存;

    无需本地环境,适合产品经理、运维人员参与开发;

这两种方式共同构成了 Supabase Cloud 上 完整、高效、开箱即用 的无服务器开发闭环。

03

开源版 Supabase 的“能力断层”:

有引擎,无驾驶舱

Supabase 是开源的,但它的 Edge Functions 管理后台(FaaS Backend)并未开源。这意味着:

    您可以在本地使用 supabase start 运行边缘函数(模拟环境);

    也可以部署一个包含 edge-runtime 的容器;

    但您无法通过 Studio 创建、编辑或部署函数;

    也无法通过 CLI 将代码推送到自建实例;

许多企业在尝试自建 Supabase 时,发现 Edge Functions 功能“不可用”或“只能靠手动脚本部署”,最终放弃使用这一核心能力。

04

Supabase Cloud vs. 公有云托管:

一场关于隔离性与控制力的权衡

维度

Supabase Cloud

自建开源版本

PolarDB Supabase

Edge Functions 可用性

✅ 完整支持

❌ 无管理后台

✅ 完整支持

开发体验

✅ Studio + CLI

❌ 仅能本地模拟

✅ 打包脚本 + Studio 可视化部署

运维控制力

✅ 全托管

❌ 自主运维

✅ 全托管 + 企业级能力

网络延迟

✅ 全球边缘

❌ 依赖自建部署位置

✅ 支持边缘节点部署

函数代码归属

❌ 存于 Supabase 平台

✅ 完全由客户掌控

✅ 代码与元数据归属客户

05

PolarDB Supabase:

打破两难,兼顾功能完整与企业级控制力

我们深知企业客户的需求:既要现代化的开发体验,又要对资源、数据和系统拥有更强的控制力。

因此,PolarDB Supabase 在 公有云托管环境 下,采用独立实例(Isolated Instance) 架构,并自主研发轻量级 FaaS 管理系统,成功补全了开源版 Supabase 缺失的最后一块拼图 - Edge Functions。

5.1 我们带来了什么?

您获得的是:与 Supabase Cloud 几乎一致的开发体验,但运行在资源独享、数据可控的独立实例中。

06

立即体验:30 秒开启第一个边缘函数

1. 登录 PolarDB Supabase Studio;

2. 进入 “Edge Functions” 页面;

3. 可通过下面三种方式的任意一种来完成代码编辑;

    代码编辑器

    本地打包上传eszip(包含所有依赖)

    本地打包上传zip(不包含依赖,上传后服务端打包依赖)

4. 调用 URL:

http://<supabase实例公网地址>/functions/v1/hello-world

07

最佳实践

1. 参考最佳实践文档,实战一个完整的Web应用。

https://help.aliyun.com/zh/polardb/polardb-for-postgresql/polardb-supabase-best-practices?utm_content=g_1000406225;

2. 登录 PolarDB Supabase Studio进入 “Edge Functions” 页面点击 “New Function”,Function name 输入:tongyi;

3. 代码编辑框填入下面内容,点击 “Save and Deploy”。代码逻辑是调用通义API,总结会议纪要。注意:代码中要填入您的通义大模型 apiKey;

    import"jsr:@supabase/functions-js/edge-runtime.d.ts";
    import { OpenAI } from "npm:openai@4.8.0";
    // CORS headers
    const corsHeaders = {
      'Access-Control-Allow-Origin''*',
      'Access-Control-Allow-Headers''authorization, apikey, content-type',
      'Access-Control-Allow-Methods''GET, POST, PUT, DELETE, OPTIONS',
      'Content-Type''application/json,charset=utf-8'
    };
    const openai new OpenAI({
      apiKey"your api key",
      baseURL"https://dashscope.aliyuncs.com/compatible-mode/v1"
    });
    Deno.serve(async (req)=>{
      if (req.method === 'OPTIONS') {
        return new Response('ok', {
          headers: corsHeaders
        });
      }
      const { prompt } = await req.json();
      const response = await openai.chat.completions.create({
        model"qwen-turbo",
        messages: [
          {
            role"system",
            content"你是一个专业的会议纪要助手,能够根据会议内容生成结构化的会议纪要。"
          },
          {
            role"user",
            content: prompt
          }
        ]
      });
      return new Response(JSON.stringify({
        answer: response.choices[0].message.content
      }), {
        headers: corsHeaders
      });
    });

    4. 按照最佳实践文档启动本地运行:pnpm run dev;

    5. 进入会议,填写一些会议内容,点击AI纪要总结。前端会请求 Edge Functions 函数,利用通义大模型生成会议纪要,效果见下图:

    08

    结语:让强大,更自由

    Supabase 的强大,在于它让全栈开发变得简单。 而真正的自由,是既能享受这份简单,又能掌控自己的数据、资源与架构。

    PolarDB Supabase 不做功能的搬运者,我们是完整体验的创造者。 在公有云的便利之上,构建独立实例的确定性;在开源的能力之外,补全企业所需的每一块拼图。

    🌐 您不必在“开箱即用”和“自主可控”之间妥协。 现在,你可以同时拥有两者。


    PolarDB Supabase Edge Functions

    —— 在公有云上,释放 Supabase 的全部潜能,补全开源缺失的最后一块拼图。

    欢迎留言一起参与讨论~

    阅读原文

    跳转微信打开

    Fish AI Reader

    Fish AI Reader

    AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

    FishAI

    FishAI

    鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

    联系邮箱 441953276@qq.com

    相关标签

    PolarDB Supabase Edge Functions 无服务器 全栈开发 公有云托管
    相关文章