Supabase Edge Functions: Serverless Functions Đơn Giản và Mạnh Mẽ

04/04/2026 P T P Chung 7 phút đọc 0 bình luận

# Supabase Edge Functions: Serverless functions đơn giản và mạnh mẽ

Mở đầu: Serverless không còn là "hype" nữa

Khi nhắc đến serverless, nhiều người vẫn nghĩ đến AWS Lambda, Google Cloud Functions, hoặc Azure Functions - những nền tảng mạnh mẽ nhưng đòi hỏi khá nhiều kiến thức về cloud, networking và CI/CD. Nếu bạn đang xây dựng một ứng dụng với Supabase và muốn thêm một chút logic ở phía backend mà không muốn lập trình viên backend, Supabase Edge Functions có thể là giải pháp bạn đang tìm kiếm.

Supabase Edge Functions là gì?

Supabase Edge Functions là một tính năng serverless được tích hợp trực tiếp vào hệ sinh thái Supabase. Nó cho phép bạn viết và deploy JavaScript/TypeScript functions chạy ở "edge" - tức là gần người dùng nhất, giúp giảm latency và cải thiện trải nghiệm. Không cần phải quản lý server, không cần lo về scaling, bạn chỉ cần tập trung vào code.

Điểm khác biệt lớn nhất so với các serverless functions khác là: Edge Functions được thiết kế để làm việc natively với các dịch vụ khác của Supabase như Database, Auth, Storage, và Row Level Security (RLS).

Vì sao nên dùng Edge Functions?

1. Tích hợp liền mạch với Supabase

Bạn có thể gọi database trực tiếp từ function, sử dụng supabase-js library mà không cần config thêm gì. Điều này giúp giảm thời gian phát triển và tránh boilerplate code.

2. Deploy đơn giản qua CLI

Với lệnh supabase functions deploy , bạn có thể deploy function chỉ trong vài giây. Không cần pipeline phức tạp, không cần Docker nếu không muốn.

3. Chạy ở edge network

Functions được deploy lên Fastly Edge Cloud, giúp response time nhanh hơn so với centralized cloud functions, đặc biệt với user ở khu vực địa lý xa datacenter.

4. Hỗ trợ middleware và auth

Bạn có thể dùng function như một middleware để validate JWT token từ Supabase Auth trước khi cho phép request đi tiếp. Điều này rất hữu ích cho các API bảo mật.

Các trường hợp sử dụng thực tế

Xử lý webhook từ bên thứ ba

Khi có event từ service như Stripe, GitHub, hoặc webhook từ hệ thống khác, bạn có thể tạo một function để nhận payload và lưu vào database hoặc trigger business logic.

API tùy biến với RLS

Thay vì expose database trực tiếp, bạn có thể tạo một function để validate input, xử lý dữ liệu, và insert/update thông qua RLS policies.

Tự động hóa tác vụ

Gửi email xác nhận, tạo notification, hoặc xử lý file upload từ Storage - tất cả đều có thể thực hiện trong một function.

Proxy cho external API

Nếu bạn muốn ẩn API key của dịch vụ bên thứ ba (như OpenAI, Maps API), function có thể đóng vai trò proxy, lấy dữ liệu từ client và trả về sau khi đã xử lý.

Quảng cáo

300x250 In-Content Advertisement

Cách bắt đầu với Edge Functions

Bước 1: Cài đặt Supabase CLI

npm install -g supabase

Bước 2: Khởi tạo functions directory

supabase functions new hello-world

Lệnh này tạo một function mẫu với route /functions/v1/hello-world.

Bước 3: Viết code function

export async function handler(event: { request: Request }) {
  const { body } = event.request.json();

const supabase = require('supabase-js')( process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY );

const { data, error } = await supabase .from('messages') .insert([{ text: body.message }]);

return new Response(JSON.stringify({ data }), { status: 200, headers: { 'Content-Type': 'application/json' } }); }

Bước 4: Deploy

supabase functions deploy hello-world

Và function sẽ sẵn sàng ở địa chỉ: https://.supabase.co/functions/v1/hello-world

Một số lưu ý khi dùng

- Cold start: Dù edge functions nhanh, cold start vẫn có thể xảy ra nếu function không được gọi trong thời gian dài. - Timeout: Thời gian tối đa cho một function là 10 giây. - Size limit: Bundle size khuyến nghị dưới 4MB để đảm bảo performance. - Environment: Dùng process.env để lấy config từ Supabase Dashboard.

Kết luận: Khi nào nên dùng Edge Functions?

Supabase Edge Functions là lựa chọn tuyệt vời nếu bạn: - Đã dùng Supabase và muốn tránh thêm dependency mới. - Cần một API nhỏ, đơn giản, tích hợp với database/auth. - Muốn deploy nhanh mà không cần lo về infrastructure.

Ngược lại, nếu bạn cần compute-heavy tasks, long-running processes, hoặc phức tạp microservices, có thể vẫn nên chọn các serverless platforms truyền thống hơn.

Với sự đơn giản, tốc độ, và tích hợp liền mạch, Supabase Edge Functions đang dần trở thành "secret weapon" cho nhiều developer Fullstack muốn tối ưu thời gian và chi phí.

Quảng cáo

728x90 Bottom Advertisement

Thay thế bằng mã Google AdSense

Chia sẻ bài viết

Facebook Twitter

Bình luận

Chia sẻ ý kiến của bạn về bài viết này

Viết bình luận

Bình luận của bạn sẽ được kiểm duyệt trước khi hiển thị

Chưa có bình luận nào

Hãy là người đầu tiên bình luận về bài viết này!